知っておくとちょっと便利!ファイル内の文字列を検索する grep コマンド

★★★ お知らせ ★★★

◆ エンジニア業務環境アンケート結果 ◆
エンジニアが自分の働き方にどういったことで満足していて、不満を感じているのか、働きたい会社像として何を求めているのか、業務環境調査を実施しました。ぜひご覧ください。
アンケート結果はこちらから

今号では、grep コマンドの使い方やオプションについてご紹介します!

grep コマンドとは

grep コマンドは、ファイルの内容から特定の文字列を検索する事ができるコマンドです。
find コマンドと似ていますが、大きな違いとしてはファイル内の文字列を検索できる点になります。

基本の書式

“grep <文字列> ファイル名” コマンドを実行すると、指定したファイルの中から文字列を検索します。
例えば、test.txt というファイルから abc という文字列を検索する場合、以下のようになります。

$ cat test.txt
abc
def
ghi
abcdefghi
$ grep abc test.txt
abc
abcdefghi

grep コマンドでは検索結果を行単位で表示するため、検索結果は abc が含まれる行 abcabcdefghi が該当します。

grep コマンドのオプション

次に、grep コマンドで使用可能なオプションをご紹介します。
オプションには多くの種類がありますが、よく使用されると考えられるものを抜粋してご紹介します。

  • 複数の文字列で検索する (or 検索)
    -e オプションを指定すると、検索したい文字列を複数指定できます (-e オプション 1つにつき、1つの文字列)。
    例えば、test.txt から ab または bc の、いずれかの文字を含む行を検索する場合、以下のようになります。

    $ grep -e ab -e bc test.txt
    abc
    abcdefghi
    

    なお、and 検索したい場合は | (パイプ) を使用し、ひとつめの grep コマンドの結果を次の grep コマンドへ渡すようにします。

    $ grep abc test.txt | grep def
    abcdefghi
    
  • 検索結果に行番号を表示する
    -n オプションを指定すると、検索結果に加えて行番号を表示します。
    例えば、test.txt から abc という文字列を検索した場合、検索結果の左側に該当する文字列の行番号 (今回の場合ですと 1と 4) が表示されます。

    $ grep -n abc test.txt
    1:abc
    4:abcdefghi
    
  • 一致しないものを検索する
    -v オプションを指定すると、条件に一致しない行のみを表示します。
    例えば、test.txt から -v オプション付きで abc という文字列を検索する場合、以下のように abc 以外の文字列を含む行のみが表示されます。

    $ grep -v abc test.txt
    def
    ghi
    




ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる