subdirectorios sintaxis significa que listar entrar eliminar ejemplos directorios directorio crear como comandos carpeta basicos linux gzip extract gunzip

sintaxis - Extrae y elimina todo.gz en un directorio- Linux



listar directorios y subdirectorios linux (7)

Tengo un directorio Tiene aproximadamente 500K .gz de archivos.

¿Cómo puedo extraer todos los archivos .gz en ese directorio y eliminar los archivos .gz?


@techedemic es correcto pero falta ''''. para mencionar el directorio actual, y este comando ir a través de todos los subdirectorios.

find . -name ''*.gz'' -exec gunzip ''{}'' /;


Esto debería hacerlo:

gunzip *.gz


Extraiga todos los archivos gz en el directorio actual y sus subdirectorios:

find . -name "*.gz" | xargs gunzip


Hay más de una forma de hacer esto obviamente.

# This will find files recursively (you can limit it by using some ''find'' parameters. # see the man pages # Final backslash required for exec example to work find . -name ''*.gz'' -exec gunzip ''{}'' /; # This will do it only in the current directory for a in *.gz; do gunzip $a; done

Estoy seguro de que también hay otras formas, pero esta es probablemente la más simple.

Y para eliminarlo, simplemente haga una rm -rf *.gz en el directorio correspondiente


Si desea extraer un solo archivo, use:

gunzip file.gz

Extraerá el archivo y eliminará el archivo .gz.


Tratar:

ls -1 | grep -E "/.tar/.gz$" | xargs -n 1 tar xvfz

Entonces intenta:

ls -1 | grep -E "/.tar/.gz$" | xargs -n 1 rm

Esto desmarcará todos los archivos .tar.gz en el directorio actual y luego eliminará todos los archivos .tar.gz. Si quieres una explicación, el "|" toma el stdout del comando anterior, y lo usa como el stdin del comando posterior. Use "man command " sin las comillas para descubrir qué hacen esos comandos y argumentos. O bien, puede investigar en línea.


for foo in *.gz do tar xf "$foo" rm "$foo" done