Linux centos7查看文件任意多行

linux centos7中查看文件命令很多,如查看全部内容的cat、nl和 tac,分屏显示文件内容的more和less。但没有常用的命令用于查看任意行。本文就此讨论一下如何查看任意单行或多行。

为了分析问题方便,我们分两种情况分别讨论。

我们提前准备素材:文件文件a.txt,其中有15行内容,其中有两空行。

这是由/etc/passwd转存而来。方便处理与训练。

一、指定行号

1.查看任意一行

我们查看文件的第5行,这里指定行号,仅仅查看某一行。

如何查看文件第5行呢?

head+tail

我们查看文件的命令很多,常用的有 cat、 nl、head、tail、more和less。但只查看一行,一个命令不能完成,大多数命令是查看很多行(cat查看全部行;head查看前几行;tail查看后几行)。我们可以由两个常用命令组合,查看第5行:先用head  -5  file命令查看文件前5行,再通过管道|执行tail  -1命令,查看倒数一行,达到仅查看第5行之目的。

sed

学习过sed流编辑器,对其强大功能深有体会。查看第5行,十分简单的事情。

awk

awk也是处理文本文件强大工具,读行,分析行,可以按行输出,按行内分隔符分成多个字段 ,分别输出,或有限输出。查看第5行内容,实现很容易。

在第5行查看条件后面,可以写动作{print $0},此处不写,是一种简便方法。默认打印,默认打印 整行。

ex

这是vim的一种模式,可以方便查看某一行:

ed

与ex相同,ed也是一种编辑器,可以查看文件的行内容:

2.查看任意多行

用前述命令可以调整一下,即可查看多行。我们下面的案例,均查看5-9行

sed命令,用两个数字加英文逗号分隔

awk命令,NR==5,NR==9表示查看5-9行区间

NR>=5&&NR<=9表示查看5-9行区间

ex也可以查看多行内容:

ed命令只能查看单行内容。

二、匹配行

不指定行号,但要求查看包含字符串的行,这就用到字符的模式匹配,通过匹配查看多行文件内容。下面的案例,统一要求匹配“adm”(即第4行)。

1.匹配单行

由匹配字符查看行内容,常用查看文件命令都用不上。但linux三剑客可以发挥重要作用。

sed

sed命令中,用//把匹配字符包括起来,由此可以查看匹配行。

需要匹配的字符一般不用双引号括起来。

特殊情况,匹配最后一行,用$表示。

awk

awk命令与sed命令相同,用//把匹配字符包括起来,由此可以查看匹配行。

grep

grep是搜索字符常用命令,比其他任何命令都强大。搜索一个字符串,由此查看包括此 字符串的行内容,是grep基本功能。

如果是查找以字符串开头的行,可以这样做:

在模式匹配中,用“^”表示开头,用“$”表示结尾。

如果查看的字符串是一个单词,可以这样写:grep  -w ‘单词’  file

或者用 ‘\< 单词 \>’表达,‘ \b单词 \b’也有同样效果。

ex

ex也可以匹配模式,以便查询行内容:

ed同样效果。

2. 匹配行区间

查看多行内容,可以通过匹配两个字符串完成,也可以指定一行,另一行通过模式匹配。

sed

我们可以通过匹配/bin/和/lp/两个字符,查看包括这两行及其中间行的多行内容。

我们再训练第3行到模式匹配/lp/之间的多行内容:

如果匹配/lp/至最后一行:

awk

awk多行匹配与查看与sed命令基本相同,比单行匹配多一个条件而已。

grep

grep搜索字符串功能强大,可以搜索多个不同字符串,可以查看一个字符串匹配的前后几行。熟练应用,很容易达到我们的目的。grep  命令的-A  -B  -C选项,可以参考。

案例:查看lp字符前后3行内容

小结

本文介绍的几种常见的查看单行或多行文件内容的方法与命令。没有介绍vim,因为在编辑过程中,可以查看的内容很多,光标移动到哪行就可以看到哪行,只需要光标移动即可,不需要命令。

查看多行文件内容用的方便的是sed命令,利用模式匹配查看多行内容的是grep命令。awk命令及head、tail命令组合,是备用之选。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 在Linux查看文件指定行数,可以使用命令行工具中的"sed"命令。 以下是使用sed命令查看文件中第10行的命令示例: ``` sed -n '10p' filename ``` 其中,-n选项表示不输出模式空间中的内容,'10p'表示打印第10行,filename表示要查看文件名。如果要查看其他行,只需要将'10'替换为所需行数即可。 另外,还有其他命令可以查看文件指定行数,例如: - head命令:查看文件开头的几行,例如"head -n 10 filename"表示查看文件filename的前10行。 - tail命令:查看文件末尾的几行,例如"tail -n 10 filename"表示查看文件filename的后10行。 - cat命令:将整个文件内容输出,例如"cat filename | sed -n '10p'"表示输出文件filename的所有内容,并用sed命令过滤出第10行。 ### 回答2: 在Linux中,我们可以使用命令行工具来查看文件指定行数。具体的方法如下: 1. 使用cat命令查看整个文件。 例如: ``` $ cat myfile.txt ``` 2. 使用sed命令查看指定行数。 例如: ``` $ sed -n '10p' myfile.txt ``` 上面的命令将会查看myfile.txt文件的第10行。 你也可以使用范围来查看多个行数。例如: ``` $ sed -n '10,20p' myfile.txt ``` 上面的命令将会查看myfile.txt文件的第10到20行。 另外,你也可以使用awk命令来查看指定行数。例如: ``` $ awk 'NR==10' myfile.txt ``` 上面的命令将会查看myfile.txt文件的第10行。 你也可以使用范围来查看多个行数。例如: ``` $ awk 'NR>=10&&NR<=20' myfile.txt ``` 上面的命令将会查看myfile.txt文件的第10到20行。 总之,使用Linux命令行工具来查看文件指定行数非常方便,你只需要记住以上几种方法就可以了。 ### 回答3: 在Linux操作系统中,有许多方法可以查看文件指定行数。这里介绍两种常用的方法:使用sed命令和使用head和tail命令。 sed命令 sed命令是一种强大的文本处理工具,在Linux系统中经常用于模式匹配和替换。使用sed命令查看文件指定行数,需要指定文件名和行号,命令格式如下: ``` sed -n '行号p' 文件名 ``` 其中,-n选项表示静默模式,只显示匹配到的行;行号表示要查看行数,可以是单个数字,也可以是数字范围,例如3、3,5、1~5等;p表示打印匹配的行。例如,要查看test.txt文件的第3行,可以使用以下命令: ``` sed -n '3p' test.txt ``` head和tail命令 head和tail命令是常用的文件查看命令,在Linux系统中用于显示文件的前几行或后几行。通过结合head和tail命令,也可以查看文件指定行数。命令格式如下: ``` head -n 行号 文件名 | tail -n 1 ``` 其中,-n选项表示显示的行数,可以是单个数字,也可以是数字范围;管道符“|”表示将head和tail命令连接起来,把head命令的输出传递给tail命令;tail命令的-n选项指定显示的行数,这里是1,表示显示最后一行。例如,要查看test.txt文件的第3行,可以使用以下命令: ``` head -n 3 test.txt | tail -n 1 ``` 总结 以上介绍了两种常用的Linux查看文件指定行数的方法,分别是sed命令和head和tail命令。对于sed命令,只需要指定文件名和行号即可显示指定行数;对于head和tail命令,需要结合使用,先用head命令显示前几行,再用tail命令显示最后一行,从而达到查看指定行数的效果。这些工具的使用非常灵活,可以根据需要灵活运用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_36142959

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值