Eu tenho um arquivo que se parece com:
arquivo.txt
NNNP
PPZL
ZZNN
Eu gostaria de substituir todas as letras para "N" e ter uma saída assim com o mesmo número de linhas que a entrada: (meu arquivo aqui tem 3 linhas, mas na realidade, meu arquivo tem milhares de linhas)
NNNN
NNNN
NNNN
De fato, posso apenas criar um novo arquivo com este comando:
printf %4s | tr " " "N" > file2.txt
yes "$(<file2.txt)" | head -n3
No entanto, alguém sabe se existe uma maneira mais simples de substituir todas as letras de uma só vez e manter a mesma matriz de colunas e linhas?
A maneira mais fácil de conseguir isso é
sed
:(adicione
-i
se desejar alterações no arquivo no local).PS. Observe que a expressão acima diferencia maiúsculas de minúsculas. Se você quiser substituição que não diferencia maiúsculas de minúsculas, use algo assim:
Para substituir cada caractere alfabético pela letra
N
: