我有一个目录 /foo/bar ,其中包含许多文件,例如a.file
、等。我用来在该目录中的每个文件中搜索模式,但我想将结果发送到新文件中,例如是否在 中找到该行,是否在 中找到该行等等。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
from 的所有行a.file
的内容b.new.file
应该是匹配xyz
from 的所有行b.file
,依此类推。
答案1
for T in *.file
do
grep -- xyz "$T" > "${T%.file}.new.file"
done