クリップボード(ファイル名ではない)の検索語をgrepに渡して検索フォルダに移動

クリップボード(ファイル名ではない)の検索語をgrepに渡して検索フォルダに移動

xseltxtファイルでいっぱいのフォルダを介してクエリをgrepパイプするためにクリップボードを使用しようとしています。誰でもこれを行う方法を提案できますか?

ベストアンサー1

再帰オプションの実装をgrepサポートすることによって:-rgrep

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行が報告されます。ab

一致させるには、複数行モードをa<newline>b使用できます。pcregrep

pcregrep -rM "\Q$(xsel -b -o | sed 's/\\E/&\\&\\Q/g'; printf '\\E')" /path/to/folder

おすすめ記事