GNU/Linux >> Belajar Linux >  >> Linux

Bz2 setiap file dalam direktori

Untuk bzip2 di Mac multi-core, Anda dapat mengeluarkan perintah berikut (ketika Anda berada di dalam folder yang ingin Anda bzip)

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

Ini akan mem-bzip setiap file secara rekursif di dalam folder terminal Anda menggunakan 14 core CPU secara bersamaan.

Anda dapat menyesuaikan jumlah inti yang akan digunakan dengan mengedit

 -P14

Jika Anda tidak tahu di mana biner bzip2 berada, Anda dapat mengeluarkan perintah berikut untuk mengetahuinya

which bzip2

Output dari perintah itu adalah apa yang dapat Anda ganti

/opt/local/bin/bzip2

dengan


Jika semua file berada dalam satu direktori maka:

bzip2 *

Cukup. Pendekatan yang lebih kuat adalah:

find . -type f -exec bzip2 {} +

Yang akan memampatkan setiap file di direktori saat ini dan sub-direktorinya, dan akan berfungsi meskipun Anda memiliki puluhan ribu file (menggunakan * akan rusak jika terlalu banyak file di direktori).

Jika komputer Anda memiliki banyak inti, Anda dapat meningkatkannya lebih lanjut dengan mengompresi banyak file sekaligus. Misalnya, jika Anda ingin mengompres 4 file secara bersamaan, gunakan:

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

Saya telah menulis skrip di bawah ini ke bzip2 file ke direktori lain

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

nama file sampel saya seperti

2001_xyz_30Sep2020_1400-30Sep2020_1500.csv.bz2

Saya tidak bisa mendapatkan perintah langsung, maka buatlah ini. Ini berfungsi dengan baik seperti yang diharapkan.


Linux
  1. GZip setiap file secara terpisah

  2. Hitung baris dalam file besar

  3. Ekstrak tar kesalahan file tar.bz2

  1. Salin file di terminal Linux

  2. Pindahkan file di terminal Linux

  3. Bagaimana cara mengonversi tar.bz2 ke tar.gz?

  1. Memindahkan file di Linux tanpa mv

  2. Menyembunyikan Data Dalam Sistem File?

  3. Cara Kompres dan Dekompresi file .bz2 di Linux Menggunakan Perintah bzip2