所以这个问题是关于UNIX grep命令的。我正在尝试执行这个命令: grep '^echo‘test (test是文件名)。不幸的是,它所做的只是打印文件的内容。你知道它应该做什么,或者为什么它什么都不做吗?
文本:
abc hello what is up
123 I am testing this
echo utility 123124135
xyz输出是完全相同的文本。
发布于 2011-08-09 11:39:00
模式[^echo]可以匹配除e、c、h和o之外的任何字符。例如,输入行"echo utility 123124135“包含所有这些字符,但它也包含不是e、c、h或o的字符。因此,它匹配该模式。所有其他行也是如此,因为它们都包含除这些之外的其他字符。
如果您在数据文件中添加了一个输入行"echohce“,那么您应该注意到,当您使用您的模式运行grep时,它会被省略,因为它不包含任何其他字符。
如果您希望grep输出所有不包含文本"echo“的行,那么可以尝试使用grep -v echo test。-v开关告诉grep颠倒匹配的含义:输出与模式不匹配的行。并且模式"echo“将匹配包含文本"echo”的任何行。
如果您正在尝试输出所有以"echo“开头的行,那么可以尝试grep ^echo test。
发布于 2011-08-09 11:39:50
你可以这样做:
cat text | grep echo 这将在屏幕上打印带有单词"echo“的行。
发布于 2011-08-10 22:54:39
如果您尝试在行首匹配echo,请尝试
grep "^echo" test但是,如果您尝试匹配所有不包含echo的行,请尝试
grep -v "echo" test编辑:哦,我刚刚意识到这是@cdhowie答案的简化版本!
https://stackoverflow.com/questions/6991107
复制相似问题