grep --files-with-matches '>' .
Pesquise > no diretório atual ( . ) e imprima apenas os nomes dos arquivos correspondentes ( --files-with-matches ).
Note que grep não retornará qualquer coisa se você der a ele um diretório ( . ) mas esquecer de habilitar o modo "recursivo". O comando correto seria
grep --files-with-matches --recursive '>' .
ou simplesmente
grep -Rl '>' .
| sort
| uniq
Classifique os resultados e remova as duplicatas.
| xargs perl -pi~ -e 's/9Kp/9K /' /home/user/DATAFILE.DAT
Execute o comando fornecido ( perl ... ) com cada palavra 1 do stdin passado como argumentos adicionais.
Todos os arquivos dos resultados grep e também o arquivo /home/user/DATAFILE.DAT são atualizados substituindo o texto " 9Kp " por " 9K ". Os arquivos antigos são copiados com um til à direita.
1 Nota: palavra , não linha . Isso significa que um nome de arquivo com espaços será tratado como vários nomes. xargs -d'\n' seria melhor, embora não seja perfeito.