topimg.jpg


findとxargsコマンドの便利な使い方

久々の覚書

find [ディレクトリパス] -type f -name "検索したいファイル名"
パス配下の検索したいファイル名に一致するファイルのパス一覧を表示
(検索したいファイル名にワイルドカード追加で部分検索可)

grep "検索したい文字列" [ファイルパス]
指定したファイル中に記述されている検索したい文字列を含む行を表示

find [ディレクトリパス] -type f -name "検索したいファイル名" | xargs grep "検索したい文字列"
findでヒットしたファイル全てに対して、検索したい文字列でgrepをかける

例)カレントディレクトリ配下の全ての.txtファイルに対して、hogeといいう文字列を含む行を表示する。
find . -type f -name "*.txt" | xargs grep "hoge"
./test1.txt:hoge1
./test1.txt:hoge2
./test3.txt:ahoge
./test3.txt:hogehoge


ちなみに、下記コマンドの場合は、findの実行結果に対してgrepを行う。xargsを付けることによって、引数リストとしてファイルパス一覧をgrepコマンドに送っている。

find . -type f -name "*.txt" | grep "hoge"
./hoge1.txt

スポンサーサイト
  1. 2010/02/16(火) 02:43:30|
  2. Linux/Unix
  3. | トラックバック:0
  4. | コメント:0
<<iphoneから新規PCへの同期方法 | ホーム | 仮想化のディスクIOによるオーバヘッド>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://192168111.blog71.fc2.com/tb.php/25-0e63da28
この記事にトラックバックする(FC2ブログユーザー)