我正在学习如何使用 grep 并遇到了这个。它是如何工作的?

我正在学习如何使用 grep 并遇到了这个。它是如何工作的?

什么会

grep '#' input.txt | tail -n

给我吗?我对此很陌生,无法弄清楚使用greptail一起会发生什么。

答案1

grep '#' input.txt

此命令将从文件中搜索文本,在本例中,# 将在文件 input.txt 中搜索,所有出现的内容将打印在屏幕上

那么您使用了管道符号,这意味着不打印输出并将输出传递给管道符号 | 之后编写的下一个命令

所以

tail -n

这是不正确的,因为 tail -n 需要一些数字,以便它会打印您从底部提到的数字的行数,即 tail -n 2 它将打印最后 2 行

拿这个例子来说,我有一个名为 input.txt 的文件,其中写入以下内容:

[root@localhost student]# cat input.txt 
# this is a new line comment 1
this is not a comment line 1
this is not a comment line 2

# this is a new line comment 2
# this is a new line comment 3 
# this is a new line comment 4 
# this is a new line comment 5 
# this is a new line comment 6 
# this is a new line comment 7 
# this is a new line comment 8 
# this is a new line comment 9 
# this is a new line comment 10 

this is not a comment line 3
this is not a comment line 4
this is not a comment line 5

如果你运行命令

[root@localhost student]# grep '#' input.txt | tail -n 2
# this is a new line comment 9 
# this is a new line comment 10 

它已经搜索了文件中的字符,可能找到了 10 行,然后我们进一步过滤掉它,并通过编写 tail -n 2 打印结果中的最后 2 行

希望你现在已经清楚了

相关内容