sed用法

sed(替换,删除,新增,选取)以hh.txt文档为例内容如下

123456   abcedf
abcdef   123456
123456   abcedf
abcdef   123456
123456   abcedf
abcdef   123456
123456   abcedf
abcdef   123456
123456   abcedf
abcdef   123456
123456   abcedf
abcdef   123456

1、删除某行

cat hh.txt | sed ‘1d’   #删除第一行

sed ‘$d'      #删除最后一行

sed '1,2d'   # 删除第一行到第二行

sed ’2,$d' #删除第二行到最后一行

或者sed ‘1d’ hh.txt

2、显示某行

sed -n ‘1p’    #显示第一行

sed -n ‘$p’   #显示最后一行

sed -n ‘1,2p'  #显示第一行到第二行

sed -n ’2,$p' #显示第二到最后一行

3、正则匹配

sed -n ‘/123/p'     #查询包括关键字123所在的行

sed -n '/\$/p'        #查询包括关键字$所在所有行,使用反斜杠\屏蔽特殊含义

4、增加一行或多行

sed ’1a 321‘     #第一行增加字符串“321”

sed ’1,3a 321‘  #第一行到第三行后面增加“321”

sed ’1a 321\n44'   #第一行后增加多行,使用\n换行符

5、替换一行或多行

sed ‘1c 321’         #第一行替换为321

sed ‘1,2c 321’   #第一行到第二行替换为321

6、替换一行中的某一部分

格式:sed 's/要替换的字符串/新的字符串/g' (要替换的字符串可以用正则表达式)

sed -n '/123456/p' | sed 's/123456/007/g' #替换hello为007

sed -n '/123456/p' ab | sed 's/123456//g' #删除hello(等价于把hello替换成空)

(7) 插入

sed -i '$a 007' test.txt #在文件ab中最后一行直接输入"007"

注意:此命令不能接管管道输出,需要直接操作文件

(8) 其它应用参数

sed --help

注:-l 参数列出非打印字符,多用作查看\t或\$等

 

你可能感兴趣的:(sed)