linux命令怎么显示文件某一行或几行内容

linux命令怎么显示文件某一行或几行内容,第1张

使用sed命令

具体查看使用规则:

#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 这样的格式


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8486416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存