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(表示替换文件中所有的数字)