SORU
26 Mayıs 2013, Pazar


Kullanın dosya boşluklar içeren xargs

$ ls |grep mp3  
130428-bangladesh_1.mp3  
130504-mount_fuji_1.mp3  
130510-sir_alex_ferguson_1.mp3  
20130216_wesat_11.mp3  
23473715212400320.mp3  
922.mp3  
Lemon Tree.mp3  
PeterDonnelly_2005G.mp3  
SebastianWernicke_2010A.mp3  

$ ls |grep mp3 |sed -n "7p"  
Lemon Tree.mp3  

$ mplayer Lemon\ Tree.mp3  #it can run   

$ ls |grep mp3 |sed -n "7p"|xargs mplayer  

Playing Lemon.  
File not found: 'Lemon'  
Failed to open Lemon.  

Playing Tree.mp3.  
File not found: 'Tree.mp3'  
Failed to open Tree.mp3.  

Exiting... (End of file)  

Nasıl benim komut ls |grep mp3 |sed -n "7p"|xargs mplayer kabuk düzgün bir dosya olarak dosya adı ayrıştırmak izin gözden geçirmek için iki ayrı dosya olarak değil mi?

Yukarıdaki gibi echo "Lemon Tree.mp3"|xargs mplayer; aynı hatayı kullanarak işe yaramıyor.

CEVAP
26 Mayıs 2013, Pazar


Xargs yardımcı boşluk, sekme, yeni satır ve bitiş-In-dosyası standart girdiden ayrılmış dizeleri okur ve bağımsız olarak dizeleri ile programı yürütür.

Bir dosya adı bir boşluk ayırıcı olarak kullanılan önlemek istiyorum. Bu xargs için ayırıcı, yani, iyi kılavuz sayfasını okuduktan sonra değişiyor, tarafından yapılabilir

 -0      Change xargs to expect NUL (``\0'') characters as separators,
         instead of spaces and newlines.  This is expected to be used in
         concert with the -print0 function in find(1).

Vay be, xargs kılavuz sayfasına bile BOŞ ayrılmış listeler oluşturmak anlatır! Şimdi tüm yapmanız gereken, bir ve beraber ekleyin

 find . -name "*.mp3" -print0 | xargs -0 mplayer

Diğer taraftan, yedinci mp3 dosyasını çalmak için, bunu çalıştırmak için basit olabilir mi

 mplayer "$(ls | grep mp3 | sed -n 7p)"

hangi dosya adı boşluk ile herhangi bir sorun var mı?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013
  • Jay Will

    Jay Will

    19 NİSAN 2006
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009