Bu çıkan sonuçlar xargs tarafından okunur ve bunları pipe "|" ile birleştirilen devamındaki komutla çalıştırır. Xargs en iyi örneklerle açıklanabilinir.
Xargs Kullanımı
$ echo 1 2 3 4 5 6 | xargs echo
veya
$ echo 1 2 3 4 5 6 | xargs
Yukarıdaki örnekte echo ile birlikte gelen ifadeler xargs tarafından argüman olarak okunur ve echo ile ekrana basulır. Xargs komutu burada bütün argümanları tek bir ifade olarak algılar. Eğer bunların teker teker limitlenmesini istiyorsak "-n 1" şeklinde bir ifade eklemeliyiz. :
$ echo 1 2 3 4 | xargs -n 1 1 2 3 4
Başka bir örnekte daha iyi anlamamız için ls komutunu xargs ile birlikte kullanırız. Burada ls -lart komutuyla çıkan sonuçlardan aldığımızı veriyi xargs -n 1 ile teker teker ekranda gösteriririz.:
ls -lart | xargs -n 1
total
16
-rwxr--r--
1
root
system
1188
Sep
28
2012
vrt_monitor.sh
drwxr-xr-x
2
root
system
256
Sep
28
2012
logs
drwxr-xr-x
3
root
system
256
Sep
28
2012
.
-rwxr-xr-x
1
root
system
1219
Sep
28
2012
twm_vfb.sh
drwxr-xr-x
6
applmgr
dba
256
Sep
16
14:14
..
Bu örneğimizde ise .bak uzantılı dosyalar bulunur ve silinir.
find . -name "*.bak" -type f -print | xargs /bin/rm -f
Aşağıda sendmail komutuyla aldığım process bilgilerini kullanıp buradan awk komutuyla pid bilgisini alıp silebiliriz.
ps -ef |grep sendmail | awk '{print $2}' | xargs kill -9
Hiç yorum yok:
Yorum Gönder