Saya ingin dapat menggunakan xargs
untuk mengeksekusi beberapa parameter di berbagai bagian perintah.
Misalnya, berikut ini:
echo {1..8} | xargs -n2 | xargs -I v1 -I v2 echo the number v1 comes before v2
Saya berharap itu akan kembali
the number 1 comes before 2
the number 3 comes before 4
… dll
Apakah ini dapat dicapai? Saya menduga bahwa saya menggunakan -I
salah.
Jawaban yang Diterima:
Saya yakin Anda tidak dapat menggunakan -I
dengan cara itu.
Tapi Anda bisa mendapatkan efek / perilaku yang Anda inginkan dengan mengatakan:
echo {1..8} | xargs -n2 sh -c 'echo "the number $1 comes before $2"' sh
Ini, pada dasarnya, menciptakan ad hoc skrip shell satu baris,
yang xargs
dijalankan melalui sh -c
.
Dua nilai yang xargs
parsing dari input
diteruskan ke "skrip" ini.
Shell kemudian memberikan nilai tersebut ke $1
dan $2
,
yang kemudian dapat Anda rujuk di "skrip".
Mengapa `clear` Jangan Hapus Seluruh Layar?
Di mana Saya Harus Menempatkan Perangkat Lunak yang Saya Kompilasi Sendiri?