特定の文字列を含むファイルをサーバー内から探す

この記事について

環境linux
目的特定の文字列を含むファイルをサーバー内から探す
結果find + -exec grep -l のワンライナーでできた(各オプションの意味も整理)

コマンド

find ./ -name "*.*" -exec grep -l "tango_output" {} \;

./ → 現在のディレクトリ以下を指定

-name “*.*” → .(ドット)を含むファイルをすべて検索

-exec → find の検索結果ひとつひとつに指定したコマンドを実行する。-exec grep だと grep が実行される

grep -l → -l は、検索条件にマッチしたファイル名を表示する。

grep -l “tango_output” → tango_output という文字列を含むファイルを探す。

{} → find でヒットしたファイル名やディレクトリ名に置き換えられる。

\; → ; をシェルの特殊文字である コマンドの境界とみなされないようにするためにエスケープしている

参考ページ

タイトルとURLをコピーしました