0 votos

`grep` ignorando los saltos de línea

He estado usando Ventura durante unas dos semanas. Los comandos que funcionaban ayer no funcionan hoy.

Mi procedimiento: editar cada archivo .gpx creado sin saltos de línea por un Garmin eTrex 30.  Poner cada etiqueta en su propia línea para que la aplicación de mapas que utilizo la acepte. A continuación, para ver los períodos de tiempo que sigue cada archivo,

for GPX in *gpx; do                                 
  echo $GPX
  grep time $GPX | head -1
  grep time $GPX | tail -1
  wc $GPX
  echo "======="
done

Esto ha funcionado bien hasta hoy. Ahora, parece que todavía no hay saltos de línea en ningún archivo, incluidos los creados de otra manera que siempre tenían saltos de línea. Si abro un archivo en TextEdit, cada etiqueta está en su propia línea, como esperaba. Si compruebo con od -xc Veo que los saltos de línea son \n y no hay \r.

Salí de Terminal y de todos los demás programas (excepto Finder), cerré todo Windows y reinicié.  Inicié la sesión y abrí el Terminal, cd al directorio, y lo intentó de nuevo. El mismo resultado.

¿Qué ha pasado? ¿Cómo lo arreglo?

0voto

WGroleau Puntos 255

Lo encontré. Algún fallo extraño, tal vez en TextEdit, añadió un enorme parte del archivo preeditado al final de la versión editada en dos de los archivos. Esa línea era tan grande, por supuesto, que no podía ver las líneas individuales del head cuando esos dos archivos eran los dos últimos del for bucle.

Una vez que lo descubrí, eliminé esa línea y el error no volvió a producirse.

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