Usando um find
one-liner:
find . -maxdepth 1 -type f -exec sh -c '< "{}" tr -d "\r" > "{}.processed"' \;
Isso criará uma cópia de cada um dos arquivos no diretório de trabalho atual nomeado como o arquivo original com a extensão .processed
.
tr
pode ler somente de stdin
, por isso não é possível editar arquivos no local de forma nativa, mas um truque é redirecionar o conteúdo de um arquivo para o stdin
de um subshell e redirecioná-lo como uma string aqui para tr
' stdin
, para que o arquivo seja lido antes que o truncamento necessário para gravar o arquivo ocorra:
find . -maxdepth 1 -type f -exec bash -c '<<< "$(< {})" tr -d "\r" > {}' \;