#1 sed 变量替换
ipp=1.1.1.1
#将synrecvd文本中的1.1.1.1都清除 并且删除空行
echo $ipp | sed -i "s/$ipp//g;/^$/d" synrecvd
#2 sed 使用条件语句 修改文本,但不能插入一行数据
[root@A ~]# cat c
aaa
bbb
ccc
ddd
eee
fff
[root@A ~]# sed '/ccc/s/$/\tYES/;ta;s/$/\tNO/;:a' c
aaa NO
bbb NO
ccc YES
ddd NO
eee NO
fff NO
#遇到ccc加yes后,成功了,遇到ta,跑到:a这个地方,然后继续下一行,下一行若是没ccc,不成功,后面直接加No,这个ta类似是在符合条件的时候跳过某些命令,刚好符合If/else.
#;ta;中的t是跳转到a的意思,可以使用..tb...;:b
#3 sed 其他
sed '1,3d' file //删除1-3行
sed '/[Aa]bc/p' file //打印包含Abc或者abc的行
sed '/ABC/d' //删除包含ABC的行
sed '/ABC/!d' //不删除包含ABC的行
sed '5,$d' //从第五行到最后一行全部删除
sed 1q //显示第一行
sed 's/$/.../g' //每行的最后面添加 ...
sed 's/d.(sk)/1&/g' //满足d*sk的单词,在单词前添加sk
sed 's/<[^>]*>//g' //去除html标签
sed '/ABC/a123' //在包含ABC的行后面添加一行数值为123的行
sed '/ABC/i123' //跟a不同的是i是插入当前行的前面
sed '/ABC/c123' //包含ABC的行将更改为123
sed '/ABC/{n;s/123/ABC/g}' //精确匹配包含ABC的下一行,将123全部替换成ABC
sed '/ABC/{s/A/a/}' //在包含ABC的行将A替换成a
sed -e '/ABC/h' -e '$g' //将包含ABC的行复制,在最后一行添加.
sed -e '/ABC/{h;d}' -e '/123/G' //将包含ABC的行复制并删除,在包含123的行后添加.
g等于在当前行覆盖,G是在符合条件的行后新增加一行.
sed 's/^/ /g' //每行前面增加一个空格
sed 's/.(.)$/*1/' //将倒数第二位换成*
sed '/ABC/!s/1/*/g' //在不包含ABC的行里,将所有的1替换成*
sed 's/1|2|3/*/g' //在GNU里将不管是1或2或者是3替换成*
ipp=1.1.1.1
#将synrecvd文本中的1.1.1.1都清除 并且删除空行
echo $ipp | sed -i "s/$ipp//g;/^$/d" synrecvd
#2 sed 使用条件语句 修改文本,但不能插入一行数据
[root@A ~]# cat c
aaa
bbb
ccc
ddd
eee
fff
[root@A ~]# sed '/ccc/s/$/\tYES/;ta;s/$/\tNO/;:a' c
aaa NO
bbb NO
ccc YES
ddd NO
eee NO
fff NO
#遇到ccc加yes后,成功了,遇到ta,跑到:a这个地方,然后继续下一行,下一行若是没ccc,不成功,后面直接加No,这个ta类似是在符合条件的时候跳过某些命令,刚好符合If/else.
#;ta;中的t是跳转到a的意思,可以使用..tb...;:b
#3 sed 其他
sed '1,3d' file //删除1-3行
sed '/[Aa]bc/p' file //打印包含Abc或者abc的行
sed '/ABC/d' //删除包含ABC的行
sed '/ABC/!d' //不删除包含ABC的行
sed '5,$d' //从第五行到最后一行全部删除
sed 1q //显示第一行
sed 's/$/.../g' //每行的最后面添加 ...
sed 's/d.(sk)/1&/g' //满足d*sk的单词,在单词前添加sk
sed 's/<[^>]*>//g' //去除html标签
sed '/ABC/a123' //在包含ABC的行后面添加一行数值为123的行
sed '/ABC/i123' //跟a不同的是i是插入当前行的前面
sed '/ABC/c123' //包含ABC的行将更改为123
sed '/ABC/{n;s/123/ABC/g}' //精确匹配包含ABC的下一行,将123全部替换成ABC
sed '/ABC/{s/A/a/}' //在包含ABC的行将A替换成a
sed -e '/ABC/h' -e '$g' //将包含ABC的行复制,在最后一行添加.
sed -e '/ABC/{h;d}' -e '/123/G' //将包含ABC的行复制并删除,在包含123的行后添加.
g等于在当前行覆盖,G是在符合条件的行后新增加一行.
sed 's/^/ /g' //每行前面增加一个空格
sed 's/.(.)$/*1/' //将倒数第二位换成*
sed '/ABC/!s/1/*/g' //在不包含ABC的行里,将所有的1替换成*
sed 's/1|2|3/*/g' //在GNU里将不管是1或2或者是3替换成*