a.file
などの多くのファイルを含む/foo/barディレクトリがあります。そのディレクトリ内のすべてのファイルからパターンを検索するために使用していますが、行がで見つかった場合は、行が次に見つかった場合のように結果を新しいファイルに送信したいと思います。b.file
c.file
grep
xyz
a.new.file
a.file
b.new.file
b.file
私の試み:画面は
grep -ri "xyz" /foo/bar/*
うまくいき、結果のすべての行はパターンを含むファイルのパスで始まります。新しいファイルを作成するために使用できる変数にパスが保存されていますか?
編集する:
内容は、以下に一致するすべての行でなけれa.new.file
ばなりません。xyz
a.file
の内容は、と一致するすべての行でなければb.new.file
なりません。xyz
b.file
答え1
for T in *.file
do
grep -- xyz "$T" > "${T%.file}.new.file"
done