Masalahnya
Saat mencoba membuat daftar atau berinteraksi dengan sejumlah besar file dari baris perintah, hasilnya adalah kesalahan berikut:
$ ls -l *.xml | wc -l bash: /bin/ls: Argument list too long 0
$ rm *.xml bash: /bin/rm: Argument list too long
atau ketika mencoba menghapus sejumlah besar file menggunakan perintah find gagal dengan pesan kesalahan di bawah ini:
$ find /u01/oracle/apps/fs1/EBSapps/appl/xdo/12.0.0/temp/*.xml -mtime +120 -exec rm -v {} \; bash: /usr/bin/find: Argument list too long
Solusinya
Ada batas besar tetapi terbatas untuk baris perintah yang dikenakan oleh kernel dan kesalahan yang ditunjukkan di atas menunjukkan bahwa batas telah tercapai.
Untuk mengatasinya, xargs dapat digunakan yang menerima daftar nama file dari input standarnya dan menjalankan perintah pada mereka. Anda dapat menggunakan 'find' dalam kombinasi dengan 'xargs' seperti di bawah ini:
# find . -type f -name '*.xml' | xargs rm
CATATAN :Perintah di atas akan menghapus semua file dengan ekstensi .xml di direktori saat ini tanpa konfirmasi apa pun. Saya akan merekomendasikan Anda untuk terlebih dahulu mengambil cadangan file yang diperlukan sebelum mengeksekusi. Itu selalu baik untuk memverifikasi pada mesin uji dan memeriksa sebelum melanjutkan pada mesin produksi.