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