LINUX Shell命令cat和grep

时间:2013-06-06 11:34:53

标签: linux shell

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

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

经过一些研究后我发现cat用于连接而grep用于常规exp搜索(不知道我是否正确)但是上面的命令会产生什么结果(因为两者结合在一起)?

先谢谢。

编辑:我问这个,因为我没有安装linux。否则,我可以测试它。

3 个答案:

答案 0 :(得分:10)

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

冗长的解释:

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

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

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

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

答案 1 :(得分:4)

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

答案 2 :(得分:4)

此命令将导致从文件#中删除以countryInfo.txt开头的行,并将输出放在文件countryInfo-n.txt中。

此命令也可以写为

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

请参阅Useless Use of Cat