1ファイルごとに Grep した結果を別々のファイルに書き出す方法
あるフォルダ内に複数のログファイル (.log
) があり、そのログファイルから Grep で一致した行のみを、ログファイルと同名のテキストファイル (.txt
) で保存したいと思う。
Grep
コマンドを使いたかったので Msys から操作していたのだが、Xargs
コマンドでできるかなー?と思いきや、回数ごとのリダイレクトはできない様子。
そこで、以下のサイトで紹介されているように、For
で回すことにした。
for i in `find -name '*.log'`; do grep SomeText $i > $i.txt ; done
こんな感じか。
とりあえずやりたいことはできたのでこれでいいかなと思うけど、sed
とか awk
とか覚えたらもっと色々できるんだろなー。