41 votos

zcat/gzcat funciona en linux, no en osx. en general linux/osx compatibilidad

Primero el problema específico: En linux, yo uso zcat a la lista .archivo zip. En osx, zcat parece anexar automáticamente .Z para el nombre de archivo. Varias personas sugieren que la sustitución de zcat con gzcat; sin embargo, gzcat se queja de que el archivo no está en formato gzip!

'archivo' muestra esto: ...El archivo Zip de datos, al menos v2.0 para extraer

Así que ni zcat o gzcat trabajará en osx, ¿qué puedo hacer?

Tengo un tamaño medio de script en bash que utiliza, zcat/gzcat, sed, awk y otros servicios públicos básicos para el proceso de un número de archivos. Me gustaría duplicar ese ambiente en mi osx computadora portátil para que pueda trabajar sin conexión. Cualquier sugerencias generales ¿cómo puedo evitar el dolor? Espero que esta situación es bastante habitual flujo de trabajo de modo que debe de haber sido ordenados por los demás.

76voto

vy32 Puntos 422

Estás en lo correcto. Es molesto comportamiento.

$ zcat foo.txt.gz 
zcat: can't stat: foo.txt.gz (foo.txt.gz.Z): No such file or directory

Intente esto:

$ zcat < foo.txt.gz 
asdfadsf

11voto

Peterino Puntos 133

Usted puede instalar GNU utils para Mac OS X, por ejemplo, el uso de homebrew (ejecutar brew install coreutils gnu-sed, que se instala gzcat et al. y gsed). Esto le proporcionará con la implementación GNU de cada comando.

Entonces, para hacer su vida más fácil, hacer que una variable para cada uno de los comandos (por ejemplo, sed=gsed, y el uso de $sed posteriormente), o simplemente alias (por ejemplo alias sed=gsed) en cualquier script que escriba. He escrito un Gist en esto para su conveniencia: gnu-tools-for-mac.sh. Poner (o incluir) este código en la parte superior de los scripts.

El uso de la implementación de GNU tanto para comprimir y extraer los archivos. Yo diría que no se pueden mezclar los usos del OS X y GNU aplicación.

0voto

Michael Hampton Puntos 88271

La versión Mac OS X de gzip(1) no soporta la lectura de los archivos zip. Desde la página del manual:

Esta versión de gzip también es capaz de descomprimir archivos comprimidos en compress(1) o bzip2(1).

Pero el Linux (GNU) versión no.

gunzip en la actualidad se pueden descomprimir los archivos creados por gzip, zip, compress, compress -H o pack.

Los terceros han empaquetado GNU gzip para Mac OS X, usted puede encontrar estos en una búsqueda web. Que es, probablemente, el camino de menor resistencia.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: