3.3 特殊符号的使用
特殊符号 | 说明 |
---|---|
! | 对指定行以外的所有行应用命令 |
= | 打印当前行行号 |
~ | "first~step"表示从first行开始,以步长step递增 |
& | 代表匹配到的内容 |
; | 实现一行命令语句可执行多条sed命令 |
{} | 对单个地址或地址范围执行批量操作 |
+ | 地址范围中用到的符号,做加法运算 |
示例:
关于!
sed -n '/root/! p' testfi1e
关于=
sed '=' testfi1e
关于~
sed 'l~2s/:/##/g' testfi1e
关于&
sed 's/:/^&^/g' testfile
关于;
sed -n '1p; 3p' testfile
关于{}
sed -n '1,3p; 1,3 =' testfi1e
sed -n '1,3{p;=}' testfi1e
关于+
sed -n '1,+1p' testfile
四,模拟面试综合训练
1,给定一个文件,要求在文件每一行前加入行号并用空格隔开内容
sed '=' testfi1e | sed 'N; s/\n/ /g'
2,给定文件按要求完成文件内容
文件内容如下:
123abe456
456defl23
567abc789
789def567
要求输出:
456ABC123
123DEF456
789ABC567
567DEF789
sed -r 's/([0-9]{3})(.*)([0-9]{3})/\3\2\l/' b.txt | tr -s '[a-z]' '[A-z]'