Dado:
Meu objetivo era deixar apenas os arquivos somente LF e CRLF e converter os arquivos híbridos em arquivos somente CRLF, deixando os dois grupos finais sozinhos também.
Este encantamento funciona:
find . (some conditions to exclude stuff I don't want to mess with) |
xargs -d '\n' unix2dos -ic | cut -c 3- |
xargs -d '\n' dos2unix -ic | cut -c 3- |
xargs -d '\n' unix2dos
Mas agora estou curioso para saber se existe uma maneira melhor / mais eficiente de fazer isso. (Usando somente ferramentas shell padrão, não Perl / Python / etc.)
FWIW, o primeiro unix2dos -ic
é filtrar a lista inicial para apenas os arquivos contendo CRLF, então dos2unix -ic
subfiltra para aqueles que também contêm LF, e o final realmente faz a conversão. As chamadas cut
devem cortar os dois espaços iniciais que confundem xargs
, e o -d
é para resolver problemas com espaços nos nomes de arquivos, já que a saída não é citada.
Tags text-processing newlines