Nota si va a convertir archivos de múltiples bytes es necesario tomar cuidado adicional, y probablemente debería tratar de usar el iconv correcto o recodificar las especificaciones de codificación.
Si se trata de un archivo ASCII simple, los dos métodos siguientes funcionarían.
El programa flip
, en Debian el paquete también se llama flip
, puede manejar finales de línea. Del manual:
When asked to convert a file to the same format that it already
has, flip causes no change to the file. Thus to convert all
files to **IX format you can type
flip -u *
and all files will end up right, regardless of whether they were
in MS-DOS or in **IX format to begin with. This also works in the
opposite direction.
O usted podría utilizar GNU Recode:
< /etc/passwd recode ..pc | tee a b > /dev/null
file a b
Salida:
a: ASCII text, with CRLF line terminators
b: ASCII text, with CRLF line terminators
Convertir a UNIX el fin de línea:
recode pc.. a b
file a b
de salida:
a: ASCII text
b: ASCII text
recodificar abrevia DOS fin de línea como pc
, por lo que la lógica con la pc..
es: convertir de formato de PC a la predeterminada, que es latin1 con el fin de línea de Unix.
grep -URl^M. | xargs fromdos? – Dalinaum
El paquete de Ubuntu, para la instalación, se llama "tofrodos". – Apalala
En tcsh, y probablemente en csh también, puede obtener el mismo efecto con 'grep -URl" \ r ". | xargs fromdos'. – bdesham