[linux] terminal 中查看一个文件的某几行总结

众所周知,在 terminal 里面用 cat 指令可以在命令行窗口查看文件。

但是当文件长度过大,且只想查看某几行的内容,该怎么实现呢?

这边创建了一个50行的小文件,每一行存放的是对应的行号,即第一行放1,第二行放2,以此类推,最后一行为50。用这个文件来确认 cat 命令后面跟不同的参数,会如何打印对应的行数。

情况一:

cat test_cat_number | head -n 16 | tail -n 10

以下三条命令与上面这条命令效果相同
cat test_cat_number | head -n 16 | tail -n -10
cat test_cat_number | head -n +16 | tail -n 10
cat test_cat_number | head -n +16 | tail -n -10
7
8
9
10
11
12
13
14
15
16

打印出了第7-16行,由此可知,上面这条指令先从上往下取出16行,再从取出的内容中,从下往上取出10行,最终得到7-16行的内容。

情况二:

cat test_cat_number | head -n -16 | tail -n 10

以下命令效果与上条命令相同
cat test_cat_number | head -n -16 | tail -n -10
25
26
27
28
29
30
31
32
33
34

该命令打印出了25-34行。由于总共文件有50行,第34行就是倒数17行。上面这条命令是先扣去最后16行,再从剩下的内容中,从下往上取出10行,最终得到25-34行的内容。

情况三:

cat test_cat_number | head -n 16 | tail -n +10

以下命令效果与上条命令相同
cat test_cat_number | head -n +16 | tail -n +10
10
11
12
13
14
15
16

该命令打印出了10-16行。上面这条指令先从上往下取出16行,再从取出的内容中,继续从第10行开始取,最终得到10-16行的内容。

情况四:

cat test_cat_number | head -n -16 | tail -n +10
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

该命令打印出了10-34行。由于总共文件有50行,第34行就是倒数17行。上面这条命令是先扣去最后16行,再从剩下的内容中,继续从第10行开始取,最终得到10-34行的内容。

 

你可能感兴趣的:(linux)