Grep
從剪貼板(不是文件名)管道搜尋詞到 grep 以搜尋文件夾
我正在嘗試使用
xsel
剪貼板來管道搜尋詞以grep
在充滿 txt 文件的文件夾中進行搜尋。任何人都可以提出一種方法來做到這一點。
使用
grep
支持-r
遞歸選項的實現grep
:grep -rFe "$(xsel -b -o)" /path/to/your/folder
對於其他
grep
實現,用於find
查找文件:find /path/to/your/folder -type f -exec \ grep -Fe "$(xsel -b -o)" /dev/null {} +
這
/dev/null
是為了確保至少傳遞 2 個文件名,grep
因此grep
始終列印找到字元串的文件的名稱。請注意,如果 CLIPBOARD 選擇包含多行,則將單獨搜尋每一行。例如,如果選擇包含
a<newline>b
,它將報告包含a
或b
(或兩者)的行。要
a<newline>b
改為匹配,您可以使用pcregrep
它的多行模式:pcregrep -rM "\Q$(xsel -b -o | sed 's/\\E/&\\&\\Q/g'; printf '\\E')" /path/to/folder