簡體   English   中英

如何在Linux上遞歸搜索多個模式?

[英]How can I recursively search for multiple patterns on linux?

我正在嘗試查找包含以下兩種模式之一的文件:

select AND into
SELECT AND INTO
select AND INTO
SELECT AND into

用AND表示邏輯 我正在使用以下命令:

grep -r 'INTO\|SELECT' .   

檢查文件是否具有INTO SELECT,但是如果其中一個存在,則返回字符串,但是我需要兩者。

如果模式必須在同一行上出現,則可以使用

grep -r '\(INTO.*SELECT\)\|\(SELECT.*INTO\)' .

兩種選擇都可以覆蓋任一順序。 如果兩種模式可以出現在單獨的行中,請嘗試以下操作:

grep -r -Z -l 'INTO' . | xargs -0 grep 'SELECT'

第一個grep將打印具有INTO的文件的名稱( -l )。 -Zxargs -0一起將這些名稱傳遞給第二個grep,后者查找SELECT

注意 @ghoti:對於GNU以外的grep版本,請嘗試--null而不是-Z

暫無
暫無

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

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