在包含单词file的文件中查找单词并且不包含hypthens

时间:2015-01-28 18:35:27

标签: unix

我正在尝试在包含world文件的文件中查找单词并且不包含hypthens。它看起来对我来说是正确的,但我的输出显示所有带有hypthen和word文件的单词。我的路径名是/ folder.file.txt

    cat /folder/file.txt | grep file[!-]*

1 个答案:

答案 0 :(得分:0)

!不适合否定。您需要^

file[!-]* 

将匹配包含单词'file'的任何字符串以及零个或多个'!'实例要么 '-'。

基本上 - 任何带有'file'字样的东西。如果要否定字符类,则需要使用^。但是*允许“不模式”为零。

如果短划线在<{1}}后面 ,那么:

file

将匹配:

file[^-] 

但不是:

file1243
somefilefilea

我认为你的模式中可能缺少的是file-1234 允许你忽略模式的一部分。

*

可能会做你想要的事情吗?

https://www.regex101.com/可让您测试正则表达式。