Administrador de archivos de línea de comandos / extractor

15

Sigo olvidando todos los comandos de extracción correspondientes para cada formato de compresión.

Así que estaba pensando en escribir un script que simplemente asigne extensiones de archivo al comando de extracción apropiado. Pero supongo que algo como esto ya existe, simplemente no puedo encontrarlo.

Estaría contento con algo como file-roller, pero file-roller es una herramienta GUI.

brillante
fuente

Respuestas:

11

Un par de sugerencias:

unp

unp (disponible desde el centro de software) es un pequeño módulo perl que descomprimirá una amplia variedad de archivos en la carpeta actual. Úselo unp -spara los formatos de archivo que admite

Por defecto, descomprime los archivos en la carpeta actual.

rodillo de archivo

file-roller en sí se puede ejecutar desde la línea de comandos. Use file-roller -h <archive name>para descomprimir el archivo.

fossfreedom
fuente
11

Desde aquí , para poner en su .bashrc:

extract () {
   if [ -f $1 ] ; then
      case $1 in
         *.tar.bz2)   tar xjf $1      ;;
         *.tar.gz)   tar xzf $1      ;;
         *.bz2)      bunzip2 $1      ;;
         *.rar)      rar x $1      ;;
         *.gz)      gunzip $1      ;;
         *.tar)      tar xf $1      ;;
         *.tbz2)      tar xjf $1      ;;
         *.tgz)      tar xzf $1      ;;
         *.zip)      unzip $1      ;;
         *.Z)      uncompress $1   ;;
         *)         echo "'$1' cannot be extracted via extract()" ;;
      esac
   else
      echo "'$1' is not a valid file"
   fi
} 
precioso
fuente
¿Agregar un ejemplo de cómo usarlo?
MiniGod
44
extract file.zip
frabjous
4

Lo que aún no se ha mencionado es el suizo-ejército-cuchillo de utilidades de línea de comandos: atool; está disponible en los repositorios: haga clic en atool Instalar atool o ejecutar sudo apt-get install atool.

atoolen realidad es un script que comprende varias funciones como aunpack, apack, als, acat, adiff y arepack. Probablemente el uso más común del programa es extraer archivos usando el comando aunpack. Hay bastantes opciones interesantes y útiles, pero la forma básica de extraer la mayoría de los archivos es simplemente ejecutar, por ejemplo,

aunpack myarchive.tar

El soporte para tar, 7z, zip, jar, rar, ar, lha y muchos más formatos de archivo y sus variaciones se documentan ingresando man atoolen el terminal o viendo la página de manual de Ubuntu en línea .

Entonces, lo útil es que si tiene un archivo tar, zip y gz en la misma carpeta, todo lo que necesita hacer para extraerlos es ejecutar

aunpack -e *

y todos los archivos compatibles serán desempaquetados con su estructura de carpetas retenida. Si el nombre de la carpeta resultante ya existe, no se sobrescribirá, pero se le dará un nombre único como unpack-5645.

O si desea elegir solo un tipo de archivo y desempaquetarlos todos, use

aunpack -e *.zip

Si necesita descomprimir archivos directamente en un directorio particular, con solo la estructura del directorio de la subcarpeta retenida (si existe), ingrese, por ejemplo,

aunpack -e Scripts11.zip -X /home/mike/Videos

Si ya existe un archivo con el mismo nombre, se le solicitará una acción para cambiar el nombre o sobrescribir a menos que haya especificado la opción de forzar ( -f) en el comando.

Como señala la página de manual, aunpack primeros extractos

archivos a un directorio único (temporal), y luego mueve su contenido hacia atrás si es posible. Esto también evita que los archivos locales se sobrescriban por error.


Con las otras herramientas, son posibles otras acciones, como se menciona en la página del manual :

  • Apack crea archivos a partir de los archivos o la carpeta especifica o stdin
  • als enumera los archivos dentro del archivo especificado
  • acat permite extraer archivos de archivo a stdout
  • adiff le permite comparar los dos archivos especificados
  • arepack hace posible convertir un formato de archivo a otro colocando el contenido del archivo original en una carpeta temporal y luego reempacando el nuevo.

Hay muchas más opciones útiles para todas las utilidades, pero probablemente la que más se use será aunpack, ya que eso hace que sea muy fácil extraer múltiples archivos diferentes. Es genial poder emitir un solo comando y poder extraer múltiples formatos de archivo diferentes sin tener que usar los diversos comandos para tar, zip, etc.

Para ver un artículo muy reciente que describe cómo integrar las funciones de atool en las acciones personalizadas de su administrador de archivos, como Thunar, consulte esta revista en línea .

Comunidad
fuente
3

Hay una herramienta llamada dtrx: hacer la extracción correcta.

Instálelo desde los repositorios de Ubuntu y ejecútelo dtrx somefile.someext. La herramienta consultará interactivamente al usuario sobre archivos anidados (zip de archivos zip).

dtrx es una versión sofisticada del extracto de frabjous .

ene
fuente
0

¿Con qué tipo de formatos necesita lidiar? Una forma es escribir un script de shell, que verifica las extensiones de su argumento. O bien, si todo lo que tiene que ver con las variaciones en .tar. *, Simplemente lo tar -xfhará con la mayoría de ellas automáticamente. (Por lo tanto, solo recuerdo eso y unzipque es suficiente para todo lo que generalmente encuentro).

Ben Kraft
fuente