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.