ワイルドカードや、大文字小文字区別のオン/オフなどを上手く活用して、作業効率を上げ、人的なミスを減らすための効率化


複数ファイルから文字列を検索するコマンド


コマンドの基本形


特定ファイルから特定文字列を検索する

コマンド:
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"
大文字小文字関係なく、Errorという文字列を抽出してくれる。
ざっくりエラーが出ているか調べる時には便利


複数のコードから特定の関数を見つける
find ./ -name "*.cpp" -or -name "*.h" | xargs grep -e "add"

こちらは、大文字と小文字の区別が必要ないので、grepのオプションを「-e」だけにしている。また、cppファイルとヘッダーファイルのどこに記載があるか分からないので、両方のファイルを検索対象に含める。

findコマンド

ファイル一覧抽出


grepコマンド

文字列検索


以上、知っているか知らないかで大幅に作業効率が上がる
このエントリーをはてなブックマークに追加
コメントを閉じる

コメント

コメントフォーム
記事の評価
  • リセット
  • リセット