Bence bunlar bir komutun sonucunu bir diğerine giriş olarak aktarmanın yaygın yollarıdır.
Bu üçü nasıl çalışır? Veya bazı web siteleri / URL'ler nelerdir?
Bence bunlar bir komutun sonucunu bir diğerine giriş olarak aktarmanın yaygın yollarıdır.
Bu üçü nasıl çalışır? Veya bazı web siteleri / URL'ler nelerdir?
Yanıtlar:
İlk yazacaklar:
man find
man xargs
find
Varsayılan olarak standart çıkış komutu, sonuçlar, bu -print
seçenek, normal olarak gerekli değil, -print0
boşluk veya yeni satır ihtiva eden adları doğru yorumlanabilir böylece 0 (NULL) bayt ile dosya ayırır.
-exec
Seçenek yerine Xargs kullanımına bir şeydir - Bulma komutu bulduğu her öğe için bir komutu yürütür.
xargs
Komutu (genellikle gelen uzay veya yeni satır ayrılmış dizeleri okur bulmak komutu, ancak herhangi bir yere gelebilir) ve her dizesi için bazı komutu yürütür.
Xargs bir -0 seçeneğiyle çalıştırılırsa , NULL ile ayrılmış dizelerin çıktı olarak gelmesini beklerfind ... -print0
Xargs'ın avantajı, dizeleri birlikte gruplayabilmesidir, böylece n komutu yerine yalnızca bir veya iki kez bir komut yürütür .
Yani normal kullanımda:
find start_directory -name '*.txt' | xargs ls -l
find dosya adlarını listeler ve xargs şu komutları verir:
ls -l file1.txt file2.txt file3.txt ... fileN.txt
Bu da find komutunuzun verilmesinden daha hızlıdır:
ls -l file1.txt
ls -l file2.txt
ls -l file3.txt
ls -l ...
ls -l fileN.txt
Muhtemelen hepsi bu POSIX sözdizimini destekleyen geçerli bulma uygulamalarında xargs'a gerek olmadığını unutmayın:
find directory -name '*.txt' -exec ls -l {} +
xargs varyantından daha basit ve biraz daha hızlıdır.
find directory -name '*.txt' | xargs ls -l
Aşağıdaki makalelere bakın:
Linux ve Unix xargs örnekleriyle komut öğreticisini bulur
: Komut Satırı Bağımsız Değişkenlerini Kontrol Etme ve Kullanma