xargs gagal dengan backslash, tanda kutip. Itu perlu sesuatu seperti
ls -1 |tr \\n \\0 |xargs -0 -iTHIS echo "THIS is a file."
Opsi xargs -0:
-0, --null
Input items are terminated by a null character instead of by whitespace, and the quotes and backslash are
not special (every character is taken literally). Disables the end of file string, which is treated like
any other argument. Useful when input items might contain white space, quote marks, or backslashes. The
GNU find -print0 option produces input suitable for this mode.
ls -1menghentikan item dengan karakter baris baru, jadi trmenerjemahkannya menjadi karakter nol.
Pendekatan ini sekitar 50 kali lebih lambat daripada iterasi secara manual dengan for ...(lihat jawaban Michael Aaron Safyan ) (3,55s vs 0,066s). Tetapi untuk perintah input lain seperti mencari, menemukan, membaca dari file ( tr \\n \\0 <file) atau sejenisnya, Anda harus bekerja dengan xargsseperti ini.
ls -1mungkin menjadi contoh di sini tetapi penting untuk diingat bahwa itu tidak baik untuk mengurai output darils. Lihat: mywiki.wooledge.org/ParsingLs