Sed工具应用示例
1、对于模板test和west之间的行,每行加上字符串aaa bbb
sed '/test/,/west/s/$/aaa bbb/' file
2、查找line1 到line2之间的所有aa bbb 替换为AA BBB
sed '/line1/,/line2/s/aa bbb/AA BBB/' test.sh
3、匹配关键字并显示后几行
sed -n '/3/,$p' a.sh
: 显示第一次匹配到的3,到最后一行输出sed -n '/3/,+2p' a.sh
: 显示第一次匹配到的3,到向下2行输出
4、逆序显示文本内容
sed '1!G;h;$!d' /etc/passwd
5、取出文本中最后一行
sed '$!N;$!D' /etc/passwd
6、删除原有的所有空白行,而后为所有的非空白行后添加一个空白行
sed '/^$/d;G' /etc/passwd
7、在原有的每行后方添加一个空白行
希望大家开动双手来解决这个遗留问题,我们将在明天的分享中为大家分享方法。
8、显示最后一行的行号,一般可用于显示文本的总行
sed -n '$=' /etc/fstab
9、显示所有行的行号,但空行不显示行号
sed '/./=' /etc/fstab
10、使用n或p打印奇数行或偶数行
sed -n 'p;n' test.txt
#奇数行sed -n 'n;p' test.txt
#偶数行sed -n '1~2p' test.txt
#奇数行sed -n '2~2p' test.txt
#偶数行