複数ディレクトリのファイル群からテキスト文字を検索するのにWindowsではDevasを使っている。秀丸でgrepを使えばフォルダの串刺し検索ができるのを後から知った。
Linux系では、コマンドで
find ./ -type f -print | xargs grep 検索文字
find . -name "*.php" | xargs grep 検索文字
-type f ディレクトリではなくファイルを探す。(-type d ファイルではなくディレクトリ)
-printはなくてもいい。
xargs 受け取ったファイルの一覧を次のコマンドへ渡す。
grep 受け取ったファイルの中から指定された文字列のある行を抜き出す。
---------------------------------------------------------------------------
xargsの使い方。
(便利そうな使い方を集めた。)
hogedirディレクトリ内のファイルを、/tmpディレクトリ以下に拡張子「.bup」を付けてコピーする。
$ ls hogedir | xargs -I{} cp hogedir/{} /tmp/{}.bup
180日以上更新されていないファイルを削除する
find . -mtime +180 -type f | xargs rm
ディレクトリに次のファイルが存在する場合。
Filea
Fileb
Filec
FILE と書いた部分が、実際のファイル名に変換される。
$ ls | xargs -I FILE echo "FILE hogehoge"
File_A hogehoge
File_B hogehoge
File_C hogehoge
0 件のコメント:
コメントを投稿