科技 · 2019-07-05 0

sed命令小结

替换命令s
sed -r ‘s/west/north/g’ datafile
sed -r ‘s/^west/north/’ datafile
sed -r ‘s/[0-9][0-9]$/&.5/’ datafile
sed -r ‘s/(Mar)got/\1ianne/g’ datafile
sed -r ‘s#3#88#g’ datafile

读文件命令r
sed -r ‘/sun/r /etc/hosts’ datafile
sed -r ‘2r /etc/hosts’ datafile
sed -r ‘/2/r /etc/hosts’ datafile

写文件命令w
sed -r ‘/north/w newfile’ datafile
sed -r ‘3,$w new1.txt’ datafile

追加命令a
sed -r ‘2a\1111111111’ datafile
sed -r ‘2a\11111111\
>2222222222222\
>333333333’ datafile

修改命令c
sed -r ‘2c\11111111’ datafile
sed -r ‘2c\111111111111\
>22222222222222\
>33333333’ datafile

获取下一行命令n
sed -r ‘/east/{n;d}’ datafile
sed -r ‘/east/{n;s/arm/clock}’ datafile

暂存和取用命令h H g G
sed -r ‘1h;$G’ datafile
sed -r ‘1{h;d};$G’ datafile
sed -r ‘1h;2,$g’ datafile
sed -r ‘1h;2,3H;$G’ datafile

暂存空间和模式空间互换命令 x

sed -r ‘4h;5x;6G’ datafile

反向选择!
sed -r ‘3d’ datafile
sed -r ‘3!d’ datafile

 

 

实际应用:

sed命令搜索指定的文件内容

#只显示“印章制作失败”关键字的行,及其后的20行信息
sed -rn ‘/印章制作失败/,+20{p}’ catalina.out132

#只显示“印章制作失败”关键字的行,及其后的30行错误提示信息,并显示行号(=)
sed -rn ‘/印章制作失败/,+30{=;p}’ catalina.out132