学習履歴

プログラミングなどの学習履歴

ファイル内の文字列検索

業務以外でLinuxコマンドをほとんど使うことはありませんが、

ファイル内の文字列を検索するときに使ったコマンドを復習していきます。

 

使ったコマンドが以下のコマンドです。

 

find [ディレクトリ] -type f -name "検索したいファイル"  -print | xargs grep "検索したい文字列"

 

find・・指定したディレクトリ以下のファイルを検索

 

-type・・指定したファイルのタイプ、上記の-fは通常ファイルのことで、

ディレクトリは-d

 

-print・・検索結果を標準出力

 

xargs・・標準入力からコマンドラインを作成して実行、要は上記でいうとfindコマンドで検索した結果を次のコマンドであるgrepに渡しているということ。通常はgrepにはきちんと文法にのっとって記述しなければならないが、xargsを使うことで同じことを記述しなくてよくなる。しかもファイルもしくはデータが大量にある場合、ほとんどの場合だとエラーになってしまうところをxargsを使うと自動的に分割してくれるのでエラーを回避することができる特性もあり。

 

grep・・文字列を検索するコマンドで良く使う。同じ検索する目的でもfindはファイルでgrepは文字列を検索と使い分ける。

 

Linuxコマンドは覚えきれないほど存在するので本当によく使うものだけに集中して

覚えていこうと思います。