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.