在包含单词文件且不包含连字符的文件中查找单词

Finding words in a file that contains the word file and does not contain hypthens

我正在尝试在包含世界文件但不包含连字符的文件中查找单词。它对我来说看起来是正确的,但我的输出显示了所有带有连字符和单词文件的单词。我的路径名is/folder.file.txt .

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

! 不是正确的否定运算符。你需要^

file[!-]* 

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

所以基本上 - 任何包含 'file' 一词的内容。如果要取反一个字符class,则需要使用^。但是 * 然后允许 'not patterns'.

为零

如果破折号 紧接 在单词 file 之后,则:

file[^-] 

将匹配:

file1243
somefilefilea

但不是:

file-1234

我认为您的模式可能缺少的是 * 允许您忽略部分模式。

^file[^-]*$ 

可能会做你想做的事?

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