1 votos

¿Quitar la coma al final de la línea en sed en MacOS?

He creado un archivo en TextEdit en el Mac llamado stuff.txt:

stuff and stuff
More stuff
Stuff with a , in the middle
Stuff with a comma at the end,
More stuff

Si ejecuto este comando:

cat stuff.txt | sed 's/,$//'

entonces la salida es

stuff and stuff
More stuff
Stuff with a , in the middle
Stuff with a comma at the end
More stuff

Tengo otro archivo creado por el grepping de varios archivos .eml creados por Guardar como en Thunderbird en el Mac:

grep '@' *.eml | grep -v 'From' | grep -v 'Message-ID' | sed 's/^.*: //' > output.txt

Corriendo cat output.txt | sed 's/,$//' no elimina las comas finales. ¿Ayuda?

Más información: He probado el file en ambos archivos:

% file stuff.txt
stuff.txt: ASCII text
% file output.txt
output.txt: ASCII text, with CRLF line terminators

1voto

reallydismayed Puntos 11

Parece que sed no funciona con archivos CRLF (gracias @nohillside).

Lo arreglé usando cat en una terminal y copiando y pegando la salida en un nuevo archivo.

Aunque el cuerpo del texto provenía de una máquina Linux, es extraño que Mac Thunderbird ponga CRLF en la línea To: del correo electrónico.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X