微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Linux中grep'—'? grep:无法识别的选项“—”

我有一个新安装的Web应用程序。 那里有一个选项是下降的。 我想要做的就是把它改成All 。 所以我导航到应用程序文件夹,并尝试下面的命令。

grep -ir '---' .

我结束了以下错误

grep: unrecognized option '---' Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more @R_576_4045@ion.

鉴于我正在使用

distributor ID: Ubuntu Description: Ubuntu 10.04.4 LTS Release: 10.04 Codename: lucid

如何在Linux中grep'—'?

ack-grep:字符逃跑

正则expression式 – search直到出现特定string

针对重叠的模式匹配进行擦除

如何search文本文件中的文字比Linux命令的“grep”更快?

'grep -l'不适用于具有子文件夹的文件

如何grep确切的文字string(无正则expression式)

replace字符的每一个出现,除非它是在一个模式中

如何做“每个”从输出发现?

令人费解的egrep匹配换行符

如何在shell脚本中使用grep来查找文件中的单词

发生这种情况是因为grep解释---作为一个选项,而不是寻找文本。 相反,使用-- :

grep -- "---" your_file

这样,你告诉grep ,其余的不是一个命令行选项。

其他选项:

使用grep -e (参见Kent的解决方案 ,因为我已经发布了它,直到现在才注意到它):

使用awk (请参阅anubhava的解决方案 )或sed :

sed -n '/---/p' file

-n防止sed打印行(认行为)。 然后/---匹配那些包含---和/p行使它们被打印。

使用grep的-e选项,它是您的要求正确的选项:

-e PATTERN,--regexp=PATTERN Use PATTERN as the pattern. This can be used to specify multiple search patterns,or to protect a pattern beginning with a hyphen (-). (-e is specified by POSIX.)

保护以连字符( – )开始的模式

另一种方法是使用反斜杠来避开每一个

grep '---' your_file

只有逃跑的第一个作品:

grep '---' your_file

没有引号的选择:

grep \--- your_file

或者你可以使用awk:

awk '/---/' file

或者sed:

sed -n '/---/p' file

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐