linux sed

sed命令

使用说明

sed处理的文件不能是空的,它基于行来处理的文件流编辑器,如果文件为空的话,它是处理不了的

1.1.1 在第4行后添加新字符串

sed -i 4a\newline myfile

1.1.2 在指定包含www.baidu.com的行前面添加多一行内容www.qq.com

sed -i '/www.baidu.com/i www.qq.com' myfile

1.1.3 在指定包含www.baidu.com的行后面添加多一行内容www.qq.com

sed -i '/www.baidu.com/a www.qq.com' myfile

1.1.4 替换myfile里面匹配到的第一个pattern并替换为replacement

sed -i '0,/pattern/s/pattern/replacement/' myfile

1.1.5 匹配i love you,对它下面的一行year替换成year1

sed -i '/i love you/{n;s/year/year1/;}' myfile

1.1.6 在第三行前添加alex

sed -i "3 i alex" myfile

1.1.7 在第三行后添加alex

sed -i "3 a alex" myfile

1.1.8 匹配alex,并删除它下面的一行

sed -i '/alex/{n;d}' myfile

1.1.9 删除第二行

sed -i '2d' myfile

1.1.10 删除第三行至最后一行

sed -i '3,$d' myfile

1.1.11 在第二行前面添加alex

sed -i '2i fire' myfile

1.1.12 把前两行替换为hello

sed -i '1,2c hello' myfile

1.1.13 打印第一到第三行

sed -n '1,3p' myfile

1.1.14 匹配带ccc的一行并删除

sed -i '/ccc/d' myfile

1.1.15 删除第三到最后一行,并把alex替换成fire -e表示多点编辑

sed -e '3,$d' -e 's/alex/fire/' myfile

1.1.16 在最后一行添加 filewall

sed -i '$a firewall' myfile

1.1.17 在同一行alex后面添加AAA

sed -i 's/alex/&AAA/' myfile

1.1.18 在同一行alex前面添加AAA

sed -i 's/alex/AAA&/' myfile

1.1.19 在每一行前添加HEAD

sed -i 's/^/HEAD&/' myfile

1.1.20 在每一行后添加tail

sed -i 's/$/&tail/' myfile

1.1.21 自动计划任务注释

修改计划任务的时候用sed无法忽略前面的* * 8 * *,所以sed,注释计划任务

sed "s/^.*\/home\/update_clamav.sh/#&/g" /var/spool/cron/root

1.1.22 如果注释自动计划任务前知道任务名称中带mytest特殊字符串,可以这样注释

sed '/mytest/s/^/#/g' myfile

posted @ 2022-03-15 15:27  liwenchao1995  阅读(95)  评论(0编辑  收藏  举报