GNU/Linux >> Linux Esercitazione >  >> Linux

Bz2 ogni file in una directory

Per bzip2 su un Mac multi-core, puoi eseguire il seguente comando (quando sei all'interno della cartella che vuoi bzip)

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

Questo eseguirà il bzip di ogni file in modo ricorsivo all'interno della cartella in cui si trova il tuo terminale utilizzando 14 core della CPU contemporaneamente.

Puoi regolare il numero di core da utilizzare modificando

 -P14

Se non sai dove si trova il binario bzip2, puoi eseguire il seguente comando per capirlo

which bzip2

L'output di quel comando è ciò che puoi sostituire

/opt/local/bin/bzip2

con


Se tutti i file si trovano in una singola directory allora:

bzip2 *

È abbastanza. Un approccio più robusto è:

find . -type f -exec bzip2 {} +

Che comprimerà ogni file nella directory corrente e nelle sue sottodirectory e funzionerà anche se hai decine di migliaia di file (l'utilizzo di * si interromperà se ci sono troppi file nella directory).

Se il tuo computer ha più core, puoi migliorarlo ulteriormente comprimendo più file contemporaneamente. Ad esempio, se desideri comprimere 4 file contemporaneamente, usa:

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

Ho scritto sotto script a bzip2 file in un'altra directory

#!/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

il nome del mio file di esempio era come

2001_xyz_30Sep2020_1400-30Sep2020_1500.csv.bz2

Non sono stato in grado di ottenere alcun comando diretto, quindi l'ho fatto. Funziona correttamente come previsto.


Linux
  1. Come comprimere e decomprimere file .bz2 in Linux usando il comando bzip2

  2. GZip ogni file separatamente

  3. Esegui il comando per ogni file nella directory corrente

  4. Contare le righe in file di grandi dimensioni

  5. Come decomprimere un file .bz2

Come comprimere e decomprimere un file .bz2 in Linux

Comando Cp in Linux (copia file)

Come rinominare uno o più file in Linux

File Manager vs FTP

Trasferisci file usando WinSCP

Come comprimere un file in Linux