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