首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UNIX grep命令

UNIX grep命令
EN

Stack Overflow用户
提问于 2011-08-09 11:35:09
回答 4查看 2.7K关注 0票数 1

所以这个问题是关于UNIX grep命令的。我正在尝试执行这个命令: grep '^echo‘test (test是文件名)。不幸的是,它所做的只是打印文件的内容。你知道它应该做什么,或者为什么它什么都不做吗?

文本:

代码语言:javascript
复制
abc hello what is up
123 I am testing this
echo utility 123124135
xyz

输出是完全相同的文本。

EN

回答 4

Stack Overflow用户

发布于 2011-08-09 11:39:00

模式[^echo]可以匹配除echo之外的任何字符。例如,输入行"echo utility 123124135“包含所有这些字符,但它也包含不是echo的字符。因此,它匹配该模式。所有其他行也是如此,因为它们都包含除这些之外的其他字符。

如果您在数据文件中添加了一个输入行"echohce“,那么您应该注意到,当您使用您的模式运行grep时,它会被省略,因为它不包含任何其他字符。

如果您希望grep输出所有不包含文本"echo“的行,那么可以尝试使用grep -v echo test-v开关告诉grep颠倒匹配的含义:输出与模式不匹配的行。并且模式"echo“将匹配包含文本"echo”的任何行。

如果您正在尝试输出所有以"echo“开头的行,那么可以尝试grep ^echo test

票数 6
EN

Stack Overflow用户

发布于 2011-08-09 11:39:50

你可以这样做:

代码语言:javascript
复制
cat text | grep echo 

这将在屏幕上打印带有单词"echo“的行。

票数 0
EN

Stack Overflow用户

发布于 2011-08-10 22:54:39

如果您尝试在行首匹配echo,请尝试

代码语言:javascript
复制
grep "^echo" test

但是,如果您尝试匹配所有不包含echo的行,请尝试

代码语言:javascript
复制
grep -v "echo" test

编辑:哦,我刚刚意识到这是@cdhowie答案的简化版本!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6991107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档