LINUX Shell命令cat和grep

7

我是一名Windows用户,对LINUX有基本的了解,我遇到了这个命令:

cat countryInfo.txt | grep -v "^#" >countryInfo-n.txt

经过一些研究,我发现cat用于连接文件,grep用于正则表达式搜索(不知道我是否正确),但是将它们结合在一起会产生什么结果(因为两者都被组合在一起)?
提前感谢。
编辑:我之所以问这个问题是因为我没有安装Linux。否则,我可以测试它。

1
顺便提一下,如果你想知道一个Linux命令的作用,可以在Google中输入 man <command>。你会得到该命令的“man”(手册)页面,其中解释了该命令的作用以及参数的含义。 - DarkDust
3个回答

14

简短回答:它会删除所有以#开头的行,并将结果存储在countryInfo-n.txt中。

详细解释:

cat countryInfo.txt读取countryInfo.txt文件,并将其内容传输到标准输出。

|将左侧命令的输出连接到右侧命令的输入(因此右侧命令可以读取左侧命令打印的内容)。

grep -v "^#" 返回所有不匹配正则表达式^#(表示:行以#开头)的行。

最后,>countryInfo-n.txtgrep的输出存储到指定的文件中。


5
它将删除所有以#开头的行,并将输出放入countryInfo-n.txt中。

4
这条命令会删除以#开头的行,然后将输出放入文件countryInfo-n.txt中,原始文件是countryInfo.txt
这个命令也可以写成:
grep -v "^#" countryInfo.txt > countryInfo-n.txt

请看使用cat命令的无用之处

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接