6 votos

El uso de grep en estilo Mac archivos de texto

Al ejecutar grep en un archivo de texto, me sale una tontería resultados. Parece como si todo el archivo se imprime, pero en una línea de sobrescribir sí mismo. He leído que en el Mac, los archivos de texto de uso \r en lugar de la normal \n como un final de línea. Eso explicaría, pero ¿cómo hacer grep tratar \r como si fuera \n?

Estoy usando Snow Leopard OS X, y soy bastante nuevo en el uso de Apple nada, pero hace mucho tiempo un programador de Linux.

9voto

Xavier Nodet Puntos 2498

Usted no puede cambiar grep's de la conducta, pero puede cambiar el archivo se ve:

tr '\r' '\n' <file | grep foo

También, \r finales de línea son legado de estos días, OS X utiliza oficialmente \n, aunque todavía hay cosas que no se han actualizado. En particular, AppleScript, todavía no se muy atrapados, que se muestra también en su uso de pre-OS X rutas de acceso de archivo por defecto y que requieren POSIX file para indicar OS X nativo de caminos; además, muchos de Carbono de aplicaciones que todavía uso \r, Carbono, siendo una transición marco de Mac OS 9 a mac OS X.

1voto

Viktor Haag Puntos 818

Un legado común utilidad para el manejo de los finales de línea es flip. Lo hace en el lugar de transformación de archivos entre Unix, ms-DOS/Windows, legado de la línea Mac-formatos, y también puede tomar una muestra de un archivo para informarle de qué tipo es actualmente piensa que es. No se suministran con OSX, pero usted puede conseguir los archivos binarios del enlace así como de la fuente.

En este caso, puede que el primer flip -u yourFile.txt a asegurarse de que está utilizando saltos de línea y no saltos de línea para la demarcación de las líneas y, a continuación, utilizar grep.

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