LINUX Shell 命令 cat 和 grep
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16961084/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
LINUX Shell commands cat and grep
提问by Vignesh T.V.
I am a windows user having basic idea about LINUX and i encountered this command:
我是一个对 LINUX 有基本概念的 Windows 用户,我遇到了这个命令:
cat countryInfo.txt | grep -v "^#" >countryInfo-n.txt
After some research i found that cat is for concatenation and grep is for regular exp search (don't know if i am right) but what will the above command result in (since both are combined together) ?
经过一些研究,我发现 cat 用于串联,而 grep 用于常规 exp 搜索(不知道我是否正确)但是上面的命令会导致什么结果(因为两者结合在一起)?
Thanks in Advance.
提前致谢。
EDIT: I am asking this as i dont have linux installed. Else, i could test it.
编辑:我问这个是因为我没有安装 linux。否则,我可以测试它。
采纳答案by DarkDust
Short answer: it removes all lines starting with a #
and stores the result in countryInfo-n.txt
.
简短回答:它删除所有以 a 开头的行#
并将结果存储在countryInfo-n.txt
.
Long explanation:
长解释:
cat countryInfo.txt
reads the file countryInfo.txt
and streams its content to standard output.
cat countryInfo.txt
读取文件countryInfo.txt
并将其内容流式传输到标准输出。
|
connects the output of the left command with the input of the right command (so the right command can read what the left command prints).
|
将左命令的输出与右命令的输入连接起来(因此右命令可以读取左命令打印的内容)。
grep -v "^#"
returns all lines that do not(-v
) match the regex ^#
(which means: line starts with #
).
grep -v "^#"
返回所有不( -v
) 匹配正则表达式的行^#
(这意味着:行以 开头#
)。
Finally, >countryInfo-n.txt
stores the output of grep
into the specified file.
最后,>countryInfo-n.txt
将 的输出存储grep
到指定的文件中。
回答by shyam
It will remove all lines starting with #
and put the output in countryInfo-n.txt
它将删除所有以开头的行#
并将输出放入 countryInfo-n.txt
回答by devnull
This command would result in removing lines starting with #
from the file countryInfo.txt
and place the output in the file countryInfo-n.txt
.
此命令将导致#
从文件中删除以 开头的行countryInfo.txt
并将输出放在文件中countryInfo-n.txt
。
This command could also have been written as
这个命令也可以写成
grep -v "^#" countryInfo.txt > countryInfo-n.txt
See Useless Use of Cat.
请参阅Cat 的无用使用。