Perintah xargs di Linux/UNIX membaca item dari input standar, dibatasi oleh kosong atau baris baru, dan mengeksekusi perintah satu kali atau lebih dengan argumen awal apa pun.
Jika tidak ada perintah yang diberikan sebagai argumen untuk xargs, maka perintah default yang dijalankan alat ini adalah gema.
Baris kosong pada input standar diabaikan. Item yang dibaca xargs dari input standar dapat dilindungi dengan tanda kutip ganda atau tunggal atau garis miring terbalik.
Perintah xargs sangat kuat, terutama bila dikombinasikan dengan perintah seperti grep atau echo. Dalam tutorial ini, kami akan membahas beberapa penggunaan dasar perintah xargs untuk membantu Anda memulainya.
Sintaks Perintah Linux xargs
Sintaks dari perintah xargs adalah:
xargs [options] [command [initial-arguments]]
Anda dapat melihat semua opsi dan argumen dengan menjalankan perintah man xargs
dari terminal. Bagian berikut mencantumkan beberapa contoh perintah args.
Contoh Sederhana Linux xargs
Perintah xargs tanpa perintah apa pun menggemakan argumen dalam input standar. Dalam contoh berikut, output dari perintah ls disalurkan ke perintah xargs dan perintah xargs tanpa perintah apa pun menggemakan daftar file di input standar.
# ls | xargs
Contoh Xargs 1.a
Contoh berikut menunjukkan bagaimana output dari perintah echo disalurkan ke xargs dan perintah xargs menggunakan argumen pipa untuk membuat folder menggunakan mkdir
.
# echo 'one two three' | xargs mkdir
Contoh Xargs 1.b
Batasi Jumlah Argumen
Jumlah argumen yang diteruskan ke xargs ditentukan oleh batas sistem Anda. -n
switch membatasi jumlah argumen yang akan diteruskan ke perintah yang diberikan. Perintah xargs akan terus berjalan dengan n
jumlah argumen sampai semua argumen habis.
Contoh berikut membatasi jumlah argumen yang dibaca dari input standar menjadi 2. Perintah Xargs akan terus membaca dua argumen sekaligus hingga selesai membaca semuanya. Selanjutnya, -t
option akan mencetak perintah dalam output standar sebelum menjalankannya.
# echo "file1 file2 file3 file4 file5" | xargs -n 2 -t touch
Contoh Xargs 2
Aktifkan User Prompt sebelum eksekusi
Xargs dengan -p
opsi akan meminta pengguna sebelum menjalankan perintah. Contoh berikut menunjukkan perintah xargs meminta pengguna untuk 'Y' atau 'N' sebelum melanjutkan dengan membuat folder dengan setiap argumen.
# echo Hello World | xargs -p mkdir
# echo one two three | xargs -p -n 1 mkdir
Contoh Xargs 3
Hapus file dengan perintah find dan xargs
Salah satu penggunaan xargs yang paling umum adalah menggunakannya dengan perintah find. Pertimbangkan situasi di mana Anda ingin menghapus atau mengganti nama banyak file setelah menjalankan perintah find. Di sini perintah find dan xargs dapat digunakan bersama-sama pada file yang cocok dengan atribut tertentu dan kemudian menghapus atau mengganti namanya sekaligus.
Misalnya, Anda ingin menghapus semua file di /tmp
folder yang dibuat dalam lima menit terakhir. Untuk melakukannya menggunakan xargs, pertama, cari tahu semua file yang cocok dengan kriteria yang Anda pilih dengan menggunakan find
perintah dan kemudian pipa output ke perintah xargs yang pada gilirannya akan menggunakan rm
perintah untuk menghapusnya.
# find /tmp/* -cmin -5
# find /tmp/* -cmin -5 | xargs -t rm
# find /tmp/* -cmin -5
Contoh Xargs 4
Menelusuri pola menggunakan xargs
Penggunaan kuat lain dari perintah Xargs adalah untuk mencari pola dalam daftar file yang dikembalikan oleh perintah unix lain seperti ls
atau find
. Contoh berikut menggabungkan find
dan xargs
perintah di mana perintah find mengembalikan semua file teks (.txt) dari direktori kerja saat ini. Hasilnya yaitu nama file kemudian disalurkan ke perintah xargs tempat kita mencari kata 'file' menggunakan grep "file"
. Jika pola ada dalam file maka baris yang berisi pola akan dicetak di terminal bersama dengan nama file:
# find . -name "*.txt" | xargs grep "file"
Contoh Xargs 5
Jalankan banyak perintah dengan xargs
Sejauh ini kita telah melihat bagaimana perintah xargs menggunakan argumen pipa untuk melakukan berbagai tugas seperti mengganti nama sekumpulan file, mencari pola, dan sebagainya. Saat melakukan ini, ia menggunakan satu perintah setelah operasi pipa. Dimungkinkan juga untuk menjalankan beberapa perintah bersama dengan xargs.
Misalnya, jika Anda ingin membuat banyak file dan mencantumkannya secara bersamaan menggunakan perintah xargs, jalankan perintah xargs dengan -I
switch diikuti dengan mendefinisikan string pengganti. Semua kemunculan string pengganti kemudian diganti dengan argumen yang diteruskan ke xargs.
# echo "file1 file2 file3" | xargs -t -I % sh -c '{ touch %; ls -l %; }'
Contoh Xargs 6
Mengeksekusi perintah secara paralel
Dalam beberapa situasi, Anda mungkin menggunakan xargs untuk menjalankan perintah komputasi intensif untuk setiap argumen. Dengan memanfaatkan mesin multi-core Anda, dimungkinkan untuk menjalankan perintah secara paralel. -P
switch persis melakukan ini dengan menentukan jumlah maksimum proses. Secara default, jumlah proses maksimum adalah 1.
Misalnya, perintah xargs berikut mencetak angka 1 hingga 30 dengan mengambil 5 argumen sekaligus dan terutama menjalankan hingga 8 proses sekaligus.
# printf %s\\n {1..30} | xargs -n 5 -P 8
Contoh Xargs 7
Menerima masukan dari sebuah file
Sejauh ini kita telah melihat input untuk perintah xargs dibaca baik dari input standar atau dari output perintah lain melalui operasi pipa. Namun, perintah xargs juga dimungkinkan untuk membaca input dari file secara langsung. -a
switch memungkinkan Anda untuk menentukan file untuk input yang dibutuhkan oleh xargs.
Perintah xargs berikut membaca input dari file (input.txt) dan kemudian membuat file menggunakan perintah sentuh.
# cat input.txt
one.txt
two.txt
# xargs -a input.txt touch
Contoh Xargs 8
Ringkasan
Itu saja! Meskipun kami telah membahas beberapa penggunaan dasar perintah XARGS, Anda sekarang dapat mencoba fitur XARGS yang lebih canggih untuk membuat perintah yang kuat. Semoga Anda menyukai postingan ini dan terima kasih telah membacanya.