指定された文字列を含むファイルを見つけるには、次のコマンドを使用します。
find /var/www/http -type f | xargs grep -iR "STRING1"
しかし、「STRING1」、「STRING2」、または「STRING3」を含むファイルを見つける方法は?
このコードは機能しません:
find /var/www/http -type f | xargs grep -iR "STRING1" | xargs grep -iR "STRING2"
ベストアンサー1
POSIXlyではgrep
with-E
オプションを使用してください。
find /var/www/http -type f -exec grep -iE 'STRING1|STRING2' /dev/null {} +
または-e
:
find /var/www/http -type f -exec grep -i -e 'STRING' -e 'STRING2' /dev/null {} +
少なくともGNUシステム、OSX、およびFreeBSDでは、いくつかの実装を介して以下をエスケープできます|
。
find /var/www/http -type f -exec grep -i 'STRING1\|STRING2' /dev/null {} +