0%

sed简单示例

简单示例

test文件原始内容如下

1
2
3
hello world
123
321

删除第一行

1
sed '1d' test

删除最后一行

1
sed '$d' test

把hello字符串替换为HELLO

1
sed 's/hello/HELLO/' test

把hello字符串替换为HELLO并直接变更源文件

1
sed -i 's/hello/HELLO/' test

把hello字符串替换为HELLO并直接变更源文件,同时生成test_bak备份文件

1
sed -i_bak 's/hello/HELLO/' test

把第2次匹配的l替换为L,注意:行匹配,可尝试再插入一行hello world看下效果

1
sed 's/l/L/2' test

把h和w字符分别替换为H和W

1
sed 'y/hw/HW/' test

打印奇数行

1
sed -n '1~2p' test

打印偶数行

1
sed -n '2~2p' test

第二行至最后一行替换为333;即删除第二到最后一行,然后插入新的一行333

1
sed '2,$c 333' test

每行下面加一空行

1
sed G test

在第4行行尾插入变量a的值

1
sed "4{s/$/$a/}" test.txt

将当前目录中所有以md结尾的文件中的首次出现description的行删掉

1
find . -name *.md | xargs sed -i '0,/description/{/description/d}'`

打印除了2-4行

1
seq 6 | sed -n '2,4!p'