Ya, bila Anda pengguna Linux mungkin ini sedikit berguna untuk catatan. Apalagi gw yang masih belum paham bener Linux :D
Proses mv, cp atau ls kemungkinan besar akan stuck kalau jumlah file/folder yang diproses teramat banyak. Katakanlah 6.022.919 file. Wew!!!
Contoh, bila kita akan memindahkan file dengan jumlah sebanyak itu ke folder lain maka akan keluar error seperti ini:
bash: /bin/mv: Argument list too long
Untuk mengatasi hal tersebut bisa dengan menggunakan xargs atau find. Misal, isi dari direktori “utama” akan dipindah ke direktori “tujuan” maka bisa dengan menggunakan perintah di bawah ini:
ls -1 utama | xargs -i mv utama/{} tujuan/
Kalau misal hanya ingin memindahkan file dengan extension tertentu saja (misal .txt) bisa dengan perintah:
find utama/ -name "*.txt" -exec mv {} tujuan\;
atau
find utama/ -name "*.txt" | xargs -i mv {} tujuan/
Bagaimana kalau proses hapus/rm dengan jumlah file yang seabrek itu? Caranya tetap sama, hanya command-nya saja yang beda. Yaitu:
ls -1 utama | xargs -i rm utama/{}
atau bila hanya extension tertentu (misal: .txt)
find utama/ -name "*.txt" -exec rm {} \;
atau juga
find utama/ -name "*.txt" | xargs -i rm {}
kenapa yang ini = “(ls -1 utama | xargs -i mv utama/{} tujuan/)” gak bisa di terapkan ya..? yang terjadi tetep argument list too long..ketika ane tambahin -rvf malah jadi foldernya/directorinya yang ke kopi bukan filenya..mohon pencerahannya..
trims :thumbup
alvaedison(Quote) (Reply)