xargs membaca item dari standart input yang dipisahkan oleh spasi atau newline (baris baru), bila tidak ada parameter yang diberikan xargs langsung menampilkan list data dari pipeline.

Contoh kasus

Untuk contoh kasus kita buat 10 file

mkdir contoh-xargs
cd contoh-xargs
for a in {1..10}; do echo "Angka urutan ke-$a" > $a.txt; done

script sederhana diatas kita akan membuat file 1-10.txt dengan isi Angka urutan ke-1 sampai 10.

Contoh sederhana

Contoh sederhana penggunaan xargs. ketik xargs di terminal anda, tekan enter lalu ketik text. akhiri dengan CTRL + D

xargs

xargs output linux

contoh lainnya pipeline command lain ke xargs
contoh dengan pwd

pwd | xargs
# output
/home/tommy/contoh-xargs

contoh dengan ls

ls | xargs
# output
10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt

Mencari string

contoh menggunakan bantuan find dan grep untuk pencarian string.

find . -name "*.txt" | xargs grep -e "Angka"
# output
./7.txt:Angka urutan ke-7
./1.txt:Angka urutan ke-1
./9.txt:Angka urutan ke-9
./5.txt:Angka urutan ke-5
./10.txt:Angka urutan ke-10
./4.txt:Angka urutan ke-4
./8.txt:Angka urutan ke-8
./6.txt:Angka urutan ke-6
./2.txt:Angka urutan ke-2
./3.txt:Angka urutan ke-3

Menghapus File

Perintah ini akan menghapus semua file dengan akhiran (ekstention) .txt

find . -name "*.txt" | xargs rm

Limit Baris

Default xargs menampilkan semua data dalam satu baris, tetapi output tersebut bisa diubah dengan parameter -n

> ls | xargs -n 1
# output
10.txt
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt

contoh lainnya

ls | xargs -n 2
# output
10.txt 1.txt
2.txt 3.txt
4.txt 5.txt
6.txt 7.txt
8.txt 9.txt

Tampilkan Perintah yang dijalankan

Untuk kebutuhan debugging kita perlu menampilkan perintah apa yang dijalankan oleh script

ls | xargs -t rm 
# output
rm 10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt

rm 10.txt ... adalah perintah yang dijalankan si xargs, begitu output tersebut ditampilkan langsung di eksekusi.

Konfirmasi

Agar xargs meminta respond dari user Yes / No, sebelum mengeksekusi perintah tambahkan -p. contoh

ls | xargs -p rm
rm 10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt ?...n
# output

karena saya memilih n (NO), maka tidak jadi dieksekusi perintah rm.

Leave a comment

Your email address will not be published. Required fields are marked *