在包含单词文件且不包含连字符的文件中查找单词
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/ 将让您测试正则表达式。
我正在尝试在包含世界文件但不包含连字符的文件中查找单词。它对我来说看起来是正确的,但我的输出显示了所有带有连字符和单词文件的单词。我的路径名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/ 将让您测试正则表达式。