linux(sed)

sed 可以编辑,只能按行整行提取
awk 不能编辑,可以按行分隔提取
grep 擅长过滤

sed -参数 ‘规则’ 文件

对文件逐行提取,然后把提取的行按规则执行,执行完毕后,再将行输出到屏幕(此步骤为默认,-n为取消默认输出)。

参数:

-i 将按规则处理后的内容覆盖至源文件(将屏幕显示出来的内容保存至源文件)

-n 取消默认输出

-r 正则 

规则:定位+命令

定位:默认所有行

行号定位:

sed  '2ixxxxxxxxxxxxxxxx' 2.txt  第2行前面插入xxxxxxxxx

sed '3,5axxxxx' 2.txt  第3,4,5行后面加xxxxxx

sed '3p;5p' 2.txt    第3,5行打印一遍(然后还有默认的输出)

正则定位:

/^正则表达式$/

命令:

'i'   插入

'a'    追加

‘p’    输出

'd'    删除

‘c’ 替换指定的整行

‘s/old/new/gi’    替换指定字符,g表示全局,i表示不区分大小写

sed '3,$d'  删除第3至最后一行

sed '1,3s/old/new/'

sed '/^aaa/s/old/new/'

sed '2,5c balabala'  将第2-5行替换成balabala一行

posted @ 2021-04-17 00:32  丑矬穷屌  阅读(89)  评论(0)    收藏  举报