具体查看使用规则:
#sed --help;
显示文件X行命令:
#sed -n 'xp' filename
显示文件X行到Y行的内容:
#sed -n 'x,yp' filename
相关显示命令还有tail,cat.awk,head等,可以常看LInux命令大全,或者man命令|help命令查看相关用法。
sed = 文件名 | sed 'Ns/\n/:/' | sed -n '/显示行包含的关键字/p',例子:假设我有文件test,内容为:
Baidu123
ppppqqqq
bAidu567
a.此时我想把含有baidu的行以 "行号:该行完整内容"的形式输出,则只需要执行:
sed = test | sed 'Ns/\n/:/' | sed -n '/baidu/Ip' //最后p前面的是大写的I
得到结果为:
1:Baidu123
3:bAidu567
*.忽略大小写,还有一个比较笨的方法,使用[],将关键字的所有字母的大小写都包括了,就来例来说,/[bB][aA][iI][dD][uU]/
b.输出所有的行,不使用关键字过滤行,则只需要去掉最后一部分,即:
sed = test | sed 'Ns/\n/:/'
得到结果为:
1: Baidu123
2:ppppqqqq
3bAidu567
完!
---------------------------------------------
grep解决这个问题比较好吧,假设有文件test,内容为:
Baidu123
ppppqqqq
bAidu567
如果我想得到格式如 line: line_content这种格式内容的话:
grep -ni "baidu" test
结果为:
1:Baidu123
3:bAidu567
command | sed 's#.*\([0-9][0-9]:[0-9][0-9]\).*#\1'# command是你那条输出的命令,将结果用管道传递给sed,匹配 nn:nn 这样的格式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)