GNU/Linux >> Tutoriales Linux >  >> Linux

Bz2 cada archivo en un directorio

Para bzip2 en una Mac multinúcleo, puede ejecutar el siguiente comando (cuando esté dentro de la carpeta que desea bzip)

find . -type f -print0 | xargs -0 -n1 -P14 /opt/local/bin/bzip2

Esto comprimirá cada archivo recursivamente dentro de la carpeta en la que se encuentra su terminal usando 14 núcleos de CPU simultáneamente.

Puede ajustar cuántos núcleos usar editando

 -P14

Si no sabe dónde está el binario bzip2, puede ejecutar el siguiente comando para averiguarlo

which bzip2

La salida de ese comando es lo que puede reemplazar

/opt/local/bin/bzip2

con


Si todos los archivos están en un solo directorio, entonces:

bzip2 *

Es suficiente. Un enfoque más sólido es:

find . -type f -exec bzip2 {} +

Lo que comprimirá cada archivo en el directorio actual y sus subdirectorios, y funcionará incluso si tiene decenas de miles de archivos (el uso de * se romperá si hay demasiados archivos en el directorio).

Si su computadora tiene varios núcleos, puede mejorar esto aún más comprimiendo varios archivos a la vez. Por ejemplo, si desea comprimir 4 archivos al mismo tiempo, use:

find . -type f -print0 | xargs -0 -n1 -P4 bzip2

He escrito debajo del script para bzip2 archivos a otro directorio

#!/bin/bash
filedir=/home/vikrant_singh_rana/test/*

for filename in $filedir; do
name=$(basename "$filename" | sed -e 's/\.[^.]*$//')
bzip2 -dc $filename > /home/vikrant_singh_rana/unzipfiles/$name
done

mi nombre de archivo de muestra era como

2001_xyz_30Sep2020_1400-30Sep2020_1500.csv.bz2

No pude obtener ningún comando directo, por lo tanto hice esto. Esto está funcionando bien como se esperaba.


Linux
  1. Copiar archivos en la terminal de Linux

  2. Mover archivos en la terminal de Linux

  3. Mover archivos en Linux sin mv

  4. GZip cada archivo por separado

  5. Extraiga tar el error del archivo tar.bz2

Cómo comprimir y descomprimir un archivo .bz2 en Linux

Comando Cp en Linux (Copiar archivos)

Cómo cambiar el nombre de un archivo (s) en Linux

Administrador de archivos frente a FTP

Transferir archivos usando WinSCP

Cómo comprimir un archivo en Linux