什么会
grep '#' input.txt | tail -n
给我吗?我对此很陌生,无法弄清楚使用grep
和tail
一起会发生什么。
答案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 行
希望你现在已经清楚了