我試圖使用grep來匹配列表中的特定單詞。 假設列表包含聯盟和與grep的區別
aa
der
bb
abc ref
如果我的理解是正確的,(我想這使用grep -E)
cat file | grep '[a-z&&[^m-r]]'
應該返回
aa and bb
(所有字母匹配從到z,除了m到r)。但我什麼都沒有。在這裏失蹤了嗎?
我試圖使用grep來匹配列表中的特定單詞。 假設列表包含聯盟和與grep的區別
aa
der
bb
abc ref
如果我的理解是正確的,(我想這使用grep -E)
cat file | grep '[a-z&&[^m-r]]'
應該返回
aa and bb
(所有字母匹配從到z,除了m到r)。但我什麼都沒有。在這裏失蹤了嗎?
您可以使用負向預覽。他說:
grep -P '^[a-z](?!.*[m-z])' filename
將返回
aa
bb
您的輸入。
爲什麼這麼複雜?我對這個要求的解釋會提示'^ [a-ls-z] * $'。 – tripleee
你可以使用-v
開關只是反轉的grep匹配:
cat myfile.txt | grep -v '[m-r]'
或者不包括管道:
grep -v '[m-r]' myfile.txt
請描述你想匹配的模式。 – Marc
除m到r以外的a-z之間的任何字母/單詞。 –
正則表達式中沒有交點運算符。如果存在,它可能是單個(不是雙精度)'&',但操作符無論如何都不能在字符類中使用。 – tripleee