"dengan nama yang dibaca dari input standar" berarti xargs
mengambil data yang masuk pada input standarnya, membaginya, dan menggunakannya untuk menjalankan perintah yang diberikan dalam argumennya. Secara default, ia terpecah pada baris kosong atau baris baru, dan berjalan echo
dengan sebanyak mungkin argumen sekaligus.
The -0
pilihan dalam contoh Anda memerintahkan xargs
untuk membagi masukan pada nol byte bukan kosong atau baris baru. Dikombinasikan dengan find
's -print0
, ini memungkinkan nama file yang berisi kosong atau baris baru yang akan ditangani dengan baik.
The -I
pilihan mengubah cara baris perintah baru dibangun. Alih-alih menambahkan argumen sebanyak mungkin dalam satu waktu, xargs
akan mengambil satu nama sekaligus dari inputnya, mencari token yang diberikan (di {}
sini) dan menggantinya dengan nama tersebut.
Dalam contoh Anda, {}
tidak ada dalam templat perintah yang diberikan xargs
, sehingga berlaku xargs
diperintahkan untuk berjalan echo
tanpa argumen, sekali untuk setiap nama file yang diberikan kepadanya find
. Untuk melihat ini, jatuhkan wc
:
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0I{} echo
Anda akan melihat serangkaian garis kosong ... Bandingkan dengan ini
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0I{} echo {}
dan
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0 echo
dan
find . -mindepth 1 -maxdepth 1 -print0 | xargs -0
untuk mendapatkan pemahaman yang lebih baik.