Linuxでファイルコンテンツの検索をする


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒

Linuxには、ファイルを検索するコマンドとして、
findコマンドやgrepコマンドが用意されています。

これらのコマンドはLinuxシステム内からユーザが指定する条件
(ファイル名やファイルタイプなど)でファイル検索、
ファイル内文字列検索を行えますが、それ単体だとシステム全体に
対してファイル内文字列検索するには不便です。

そこで今回は、Windowsでいう、「ファイルコンテンツの検索」を
Linuxで行う方法を紹介します。

Linuxでファイル内文字列検索をするには、
次のコマンドを実行します。

----------------------------------------------------------------------
find 検索したいディレクトリ -type f -print | xargs grep 検索文字列
----------------------------------------------------------------------


例えば、/home/pakiraディレクトリ内で「pakira」という文字列が
記載されてるファイルを検索したい場合には次のように実行します。
----------------------------------------------------------------------
$ find /home/pakira -type f -print | xargs grep pakira
/home/pakira/.gtkrc-1.2-gnome2:include "/home/pakira/.gtkrc.mine"
/home/pakira/.bash_history:cd /home/pakira/work/
----------------------------------------------------------------------
結果として検索文字列を含むファイル名と検索文字列の箇所が同時に表示されます。

また、システム全体をファイル内文字列検索できるので、
下記のようにサーバーのIPアドレスが記述されているファイルを
検索する事も可能です。
----------------------------------------------------------------------
$ su -     ←「su -」でrootになる
パスワード:   ←rootパスワードを入力(表示されません)
# find /etc -type f -print | xargs grep 192.168.1.36
/etc/sysconfig/network-scripts/ifcfg-eth0:IPADDR=192.168.1.36
----------------------------------------------------------------------

ある文字列を含むファイルを検索したい場合に、このコマンドは
便利ですのでぜひこのまま覚えてください。




無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

<<関連記事>>
・MIMEでエンコードされたテキストを読めるように変換する
・viエディタで文字をコピーする
・ハードディスクの使用状況を調べるには
・tar.bz2ファイルの解凍・圧縮コマンド|tar.gzとの違いやオプション一覧
・tar.gz形式のファイルを解凍、展開するには

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る