こんにちは。kikuです。
今日はLinuxのgrepコマンドについて書こうと思います。
何かを調べてる時はほぼ使いますよね。grep。
grep "hoge" aaa.txt
これは基本的な使い方です。
これでaaa.txtから”hoge”の文字列を探して引っかかった行を出力していきます。
grep -e "hoge" -e "fuga" aaa.txt
or的な使い方
これで”hoge”or”fuga”を探します。
grep -i "hoge" aaa.txt
大文字・小文字を区別しない使い方
これで大文字・小文字を区別せず”hoge”を探します。
grep -v "hoge" aaa.txt
not的な使い方
これで”hoge”が含まれていない行を探します。
grep "hoge" -A 3 aaa.txt
これで”hoge”が含まれていた行と次の3行を探します。
これはちょっと今までのとは違いますね。
grep "hoge" -B 3 aaa.txt
これで”hoge”が含まれていた行と前の3行を探します。
grep "hoge" -C 3 aaa.txt grep -3 "hoge" aaa.txt
これで”hoge”が含まれていた行と前後の3行を探します。
grep -c "hoge" aaa.txt
これで”hoge”が含まれていた行の数を表示します。
grep -n "hoge" aaa.txt
これで行番号を先頭に付けます。
ls -l | grep "hoge"
こんな感じにすればコマンドの出力結果から”hoge”が含まれている行のみを表示します。
まとめ
grep -nie 'aaa' -e 'bbb' -B 2 aaa.txt | grep 'ccc'
これで行番号を先頭に付けて”aaa”と”bbb”を大文字・小文字を区別しないで探して、その行とその前の2行の中から”ccc”が含まれている行のみを表示します。
とても使えますね!エディタの検索機能を使っても探し出せないこともこれなら可能かもしれません!!