toberas quimica moneda examples comando linux unix ksh

linux - moneda - ksh quimica



Extraiga la lista de nombres de archivos en un archivo zip cuando `unzip-l` (4)

Cuando lo hago unzip -l zipfilename , veo

1295627 08-22-11 07:10 A.pdf 473980 08-22-11 07:10 B.pdf ...

Solo quiero ver los nombres de los archivos. Intento esto

unzip -l zipFilename | cut -f4 -d" "

pero no creo que el delimitador sea solo " " .


Use awk:

unzip -l zipfilename | awk ''{print $4}''


Si necesita atender nombres de archivos con espacios, intente:

unzip -l zipfilename.zip | awk -v f=4 '' /-----/ {p = ++p % 2; next} p { for (i=f; i<=NF;i++) printf("%s%s", $i,(i==NF) ? "/n" : OFS) }''


La forma más fácil de hacerlo es usar el siguiente comando:

unzip -Z -1 archive.zip

o

zipinfo -1 archive.zip

Esto solo mostrará los nombres de los archivos, uno en cada línea.

Los dos comandos son exactamente equivalentes. La opción -Z le dice a descomprimir que trate el resto de las opciones como opciones de zipinfo. Consulte las páginas man para descomprimir y zipinfo .


Suponiendo que ninguno de los archivos tiene espacios en los nombres:

unzip -l filename.zip | awk ''{print $NF}''

Mi salida de descompresión tiene un encabezado y un pie de página, por lo que el script awk se convierte en:

unzip -l filename.zip | awk ''/-----/ {p = ++p % 2; next} p {print $NF}''

Una versión que maneja nombres de archivo con espacios:

unzip -l filename.zip | awk '' /----/ {p = ++p % 2; next} $NF == "Name" {pos = index($0,"Name")} p {print substr($0,pos)} ''