sed命令(一)

2017-02-26  本文已影响0人  随玉而安_gao

打印某行:sed -n ‘n’p filename单引号内的n是一个数字,表示第几行

例如:sed  -n '2'p  test.txt

上面的例子中表示:打印test.txt文件中的第2行


打印多行:-n  '1,$'p

例如:set  -n  '1,3'p  test.txt

上例表示打印test.txt文件中的第1,2,3行的内容


打印包含某个字符串的行:set  -n  '/root/' p   test.txt(打印包含root字符串的行)

例一:sed  -n  '/^1/'p  test.txt

打印以1开头的行

例二:sed  -n  '/in$/'p   test.txt

打印以in结尾的行


-e可以实现多个行为

sed  -e   '/^1/'p  -e  '/111/'p  -n   test.txt

打印以1开头,并包含111的行


删除某行或者多行

sed  '1'd  test.txt(删除第一行)

sed  '1,3'd   test.txt(删除第1到3行,逗号在这里指的是一个范围)

sed  '/ood/'d  test.txt(删除包含ood的行)


替换字符或字符串

sed  '1,2s/abc/ABC/g'  test.txt(表示把文件中所有的小写abc替换成大写ABC)

上例中的’s’就是替换的命令,’g’为本行中全局替换,如果不加’g’,只换该行中出现的第一个。

sed  '1,2s#abc#ABC#g'   test.txt(效果同上都是替换)

span>除了可以使用’/’外,还可以使用其他特殊字符例如’#’或者’@’都没有问题。

sed  's/[0-9]//g'  test.txt(表示替换文件中所有的数字)

上一篇下一篇

猜你喜欢

热点阅读