読者です 読者をやめる 読者になる 読者になる

Corredor

ウェブ、プログラミングの勉強メモ。

1ファイルごとに Grep した結果を別々のファイルに書き出す方法

あるフォルダ内に複数のログファイル (.log) があり、そのログファイルから Grep で一致した行のみを、ログファイルと同名のテキストファイル (.txt) で保存したいと思う。

Grep コマンドを使いたかったので Msys から操作していたのだが、Xargs コマンドでできるかなー?と思いきや、回数ごとのリダイレクトはできない様子。

そこで、以下のサイトで紹介されているように、For で回すことにした。

for i in `find -name '*.log'`; do grep SomeText $i > $i.txt ; done

こんな感じか。

とりあえずやりたいことはできたのでこれでいいかなと思うけど、sed とか awk とか覚えたらもっと色々できるんだろなー。