GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué el carácter comodín * es tan diferente entre los comandos Zip y Rm?

Preparé un script para hacer algunas operaciones de archivos por mí. Estoy usando el operador comodín * para aplicar funciones a todos los archivos de un tipo, pero hay una cosa que no entiendo. Puedo unzip todos los archivos en una carpeta como esta

unzip "*".zip

Sin embargo, para eliminar todos los archivos zip después, debo hacer

rm *.zip

Es decir, no quiere las comillas. La descompresión, por otro lado, no funciona si solo le doy el * (me da una advertencia de que "los archivos no coincidieron").

¿Por qué es esto diferente? Para mí, esto parece exactamente la misma operación. ¿O estoy usando el comodín incorrectamente?

Las introducciones al comodín en Unix realmente no entran en esto, y no pude ubicar nada en el rm o zip documentos.

Estoy usando la terminal en una Mac (Yosemite).

Respuesta aceptada:

Has explicado muy bien la situación. La última pieza del rompecabezas es unzip puede manejar comodines por sí mismo:

http://www.info-zip.org/mans/unzip.html

ARGUMENTOS

archivo[.zip]

Las expresiones comodín son similares a las admitidas en los shells Unix de uso común (sh, ksh, csh) y pueden contener:

* coincide con una secuencia de 0 o más caracteres

Al citar el comodín *, impidió que su shell lo expandiera, por lo que unzip ve el comodín y trata de expandirlo de acuerdo con su propia lógica.

rm , por el contrario, no admite comodines por sí solo , por lo que intentar citar un comodín le indicará a rm para buscar un asterisco literal en el nombre del archivo.

La razón por la que unzip *.zip no funciona es que unzip La sintaxis de ‘simplemente no permite múltiples archivos zip; si hay varios parámetros, espera que el segundo y los subsiguientes sean archivos en el archivo:

descomprimir [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] archivo[.zip] [archivo(s) …] [-x xarchivo(s) …] [-d exdir]


Linux
  1. ¿Cuál es la diferencia entre Sudo Su y Sudo Su?

  2. ¿La diferencia entre Getty y Agetty?

  3. ¿La diferencia entre .exrc y .vimrc?

  4. ¿La diferencia entre Nss y Pam?

  5. Unzip piensa que el archivo zip es una bomba zip?

¿Cuál es la diferencia entre Linux y Unix?

La diferencia entre más, menos y la mayoría de los comandos

¡Explicado! La diferencia entre los comandos grep, egrep y fgrep

¿Cuál es la diferencia entre los comandos kill y killall?

Comandos Zip y Unzip en Linux/Unix

¿Qué es más eficiente, la compresión tar o zip? ¿Cuál es la diferencia entre tar y zip?