ワイルドカードや、大文字小文字区別のオン/オフなどを上手く活用して、作業効率を上げ、人的なミスを減らすための効率化
複数ファイルから文字列を検索するコマンド
コマンドの基本形
特定ファイルから特定文字列を検索する
コマンド:
find {path} -name "{file_name}" -or -name "{file_name}" | xargs grep -ie "{name}"
置き換え文字 | 説明 | 例 |
---|---|---|
{path} | findで探索するディレクトリ最上位 | ./ |
{file_name} | ワイルドカード「*」を含むことのできるファイル名 | *.log |
{name} | 検索する文字列 | error |
「-or」で検索するファイル名を複数種類に拡張することができます。
使用例
複数のlogファイルからエラーを見つける
find ./ -name "*.log" | xargs grep -ie "error"
ざっくりエラーが出ているか調べる時には便利
複数のコードから特定の関数を見つける
find ./ -name "*.cpp" -or -name "*.h" | xargs grep -e "add"
こちらは、大文字と小文字の区別が必要ないので、grepのオプションを「-e」だけにしている。また、cppファイルとヘッダーファイルのどこに記載があるか分からないので、両方のファイルを検索対象に含める。
findコマンド
ファイル一覧抽出grepコマンド
文字列検索以上、知っているか知らないかで大幅に作業効率が上がる