簡體   English   中英

如何使用 grep 查找包含兩個特定單詞的所有文件?

[英]How to use grep to find all files that contains two specific words?

我想找到所有同時具有patern1patern2詞的文件(不是那些只包含其中一個或不包含它們的文件)。

我使用了以下內容,但它包括那些也只有兩個詞之一的詞:

grep -r "patern1|patern2" /path/to/directory

變體 1:

find . -type f -exec grep -q pattern1 {} \; -a -exec grep -q pattern2 {} \; -a -print

變體 2:

grep -rlZ pattern1 | xargs -r0 grep -l pattern2

您可以將此序列組合為任意數量的模式。 grep-Zxargs-0需要處理帶空格的名稱。 如果 output 必須以 null 結尾,也將-Z添加到最后一個grep

使用grep

grep -re 'pattern1.*pattern2' -e 'pattern2.*pattern1' /path/to/directory

我使用以下

  • 忽略小寫和大寫
  • 文件夾結構中的遞歸

grep -rnwi. -e "searchstring" | grep -v "exclude string"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM