こんにちは。

私のとなりの席でとてもよくしゃべるベテランプログラマー。
今回も前回と同様、赤子がわめくように周りに要求してますよ。

「俺、黒い画面分からないって言ってるじゃん!このトン○キが!」

※ サーバにSSH経由でログインして行う作業が必要な状況。黒い画面とはターミナルのこと。

そんな彼は今日は特定の文字列が含まれるファイルの一覧を出力したかったみたいです。
このスクリプトさえ知っていれば、ファイル検索が簡単に行えます!

お伝えしたスクリプトはこちら。

特定文字列が含まれるファイルの一覧を出力する

html/以下とphplib/以下のphpファイルにおいて、 「hogehoge」または「あいうえお」が含まれるファイルの 一覧を出力するコマンド。

※ ファイル「search_words」を作成し、検索したい文字列(今回はhogehogeとあいうえお)を1行ごとに記入して以下のスクリプトを実行してください。

for i in `cat search_words | nkf -w`; do
  for j in `find html/ phplib/ -name “*.php”`; do
    cat $j | nkf -w | grep $i > /dev/null && echo $j;
  done;
done

※ search_words の中身

hogehoge
あいうえお

例えばサイト内のすべてのページに対して一括して文字列を置換したい場合などに使えます。

「Linux」関連記事はこちら
黒い画面はもう怖くない!インフラエンジニアでなくても知っておきたいLinuxコマンド ~サイトのリンク切れチェック~
https://web.bridge-net.jp/blog/1430/

黒い画面はもう怖くない!インフラエンジニアでなくても知っておきたいLinuxコマンド ~cron設定~
https://web.bridge-net.jp/blog/1488/