for T in *.file
do
grep xyz "$T" > "${T%.file}.new.file"
done
Eu tenho um diretório / foo / bar que contém muitos arquivos, digamos a.file , b.file , c.file e assim por diante.
Estou usando grep para pesquisar o padrão xyz dentro de cada arquivo desse diretório, mas desejo enviar o resultado em novos arquivos, como a.new.file , se a linha foi encontrada em a.file , b.new.file se a linha A linha foi encontrada em b.file e assim por diante.
Minha tentativa:
grep -ri "xyz" /foo/bar/* funciona bem na tela, cada linha do resultado começa com o caminho para o arquivo que contém o padrão. Este caminho é armazenado em uma variável que eu possa usar para criar os novos arquivos?
Editar:
O conteúdo de a.new.file deve ser todas as linhas que correspondem a xyz de a.file
O conteúdo de b.new.file deve ser todas as linhas que correspondem a xyz de b.file
E assim por diante.