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.