Os caracteres ASCII são caracteres na faixa de 0 a 177 (octal) inclusive .
Para excluir caracteres fora desse intervalo em um arquivo, use
tr -dc 'tr -dc 'tr -dc 'tr -dc '%pre%-7' <file >newfile && mv newfile file
-7' <file >newfile
-7' <file >newfile && mv newfile file
-7' <file >newfile
O comando tr
é um utilitário que funciona em caracteres únicos , seja substituindo-os com outros caracteres únicos (transliteração), excluindo-os ou compactando execuções do mesmo caractere em um único caractere.
O comando acima leria de file
e gravaria o conteúdo modificado em newfile
. A opção -d
para tr
faz o utilitário excluir caracteres (em vez de transliterá-los) e -c
faz com que ele considere caracteres fora do intervalo especificado (em vez de dentro).
Para substituir o arquivo original pelo modificado, use
%pre% Isso renomeia o novo arquivo para o nome do arquivo antigo após tr
ter sido concluído com sucesso. Se tr
não for concluído com sucesso, seja porque não foi possível ler o arquivo original ou não gravar no novo arquivo, o arquivo original será mantido inalterado.