Xargs'ı oluşturduğu komut satırlarını çalıştırmadan bana nasıl gösterebilirim?


17

Çok sayıda linux komutunun, yapmadan ne yapacaklarını gösteren kuru çalışma seçeneği vardır. Xargs man sayfasında bunu yapan hiçbir şey görmüyorum ve taklit etmenin açık bir yolu yok.

(özel kullanım durumum uzun boru hatlarında sorun gidermektir, ancak başkaları olduğundan eminim)

Bir şey mi kaçırıyorum?


tam olarak ne yapmaya çalışıyorsun?
Rahul

Yanıtlar:


16

echoÇalıştırmak için komutun önüne bir koy ?

$ echo a b c d e | xargs -n2 echo rm
rm a b
rm c d
rm e

5
(Bu, elbette sadece önemsiz durumlarda çalışan basit bir çözümdür. Parametreler boşluk veya kontrol karakterleri içeriyorsa çıktı belirsiz olacaktır.
Aldığı

Kuru çalışmaya çalışıyorsanız ne olur echo? :)
mbigras

31

-pVeya -tişaretlerinden faydalanabilirsiniz .

xargs -pveya xargs --interactiveçalıştırılacak komutu yazdırır ve ardından komutu yerine getirmeden önce girişin (y / n) onaylanmasını ister.

% cat list
one
two
three

% ls
list

% cat list | xargs -p -I {} touch {}
touch one ?...y
touch two ?...n
touch three ?...y

% ls
list
one
three

xargs -tveya xargs --verboseher komutu yazdıracak, hemen uygulayacaktır:

% cat list | xargs -t -I {} touch {}
touch one 
touch two 
touch three 

% ls
list
one
three
two

1
hem süper cevap -pve -tseçenekleri. mükemmel örnekler. teşekkür ederim!
JCotton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.