UNIX grep命令

Nid*_*le 1 unix grep command

所以这个问题是关于UNIX grep命令的.我正在尝试执行此命令:grep'[^ echo]'test(test是文件名).不幸的是,它所做的只是打印文件的内容.任何关于它应该做什么的想法或为什么它没有做任何事情?

文字:

abc hello what is up
123 I am testing this
echo utility 123124135
xyz
Run Code Online (Sandbox Code Playgroud)

输出与文本完全相同.

cdh*_*wie 6

该模式[^echo]的任何字符匹配除e,c,h,和o.例如输入线"回声实用123124135"包含了所有这些字符,但它包含的字符 e,c,h,也不是o.所以它确实匹配模式.所有其他行都是如此,因为它们都包含除这些之外的字符.

如果添加输入线"echohce"你的数据文件,你应该注意它省略当你与你的模式运行grep的,因为它包含任何其它字符.

如果你想让grep输出所有不包含文本"echo"的行,那么试试吧grep -v echo test.该-v开关告诉grep来反转匹配的意义:即输出线匹配的模式.并且模式"echo"将匹配包含文本"echo"的任何行.

如果您尝试输出以"echo" 开头的所有行,请尝试grep ^echo test.