Problém s xargs

Arthur

  • ***
  • 155
    • Zobrazit profil
    • E-mail
Problém s xargs
« kdy: 20. 09. 2012, 14:55:22 »
Prosím o pomoc, určitě to má snadné řešení:

potřebuju pomocí xargs spustit příkaz, který akceptuje argumenty (množinu souborů) na začátku (ne na konci jak se defaultně předpokládá).

find <neco nejak> | xargs -I {} prikaz {} <parametry na konci>

tohle spusti prikaz opakovane pro kazdy argument zvlast, ale ja potrebuju aby ho to spustilo jednou se vsemi najednou



find <neco nejak> | awk 'BEGIN{ORS=" "}{print}' | xargs -I {} prikaz {} <parametry na konci>

timhle zase argumenty propasiruju jako jeden retezec oddelenych nazvu, ale to ten prikaz vezme jako jeden dlouhy nazev souboru misto mnoziny souboru


Díky


Sten

Re:Problém s xargs
« Odpověď #1 kdy: 20. 09. 2012, 17:48:05 »
(find; echo parametry) | xargs prikaz  ;)

Arthur

  • ***
  • 155
    • Zobrazit profil
    • E-mail
Re:Problém s xargs
« Odpověď #2 kdy: 20. 09. 2012, 21:46:42 »
ano, timhle:   'find | awk{print}{print "params"} | xargs prikaz'  jsem to obesel uz na zacatku, takze vlastne o nic moc nejde. Akorat se mi nezda, ze by to neslo udelat "ciste", obzvlaste, kdyz jsem vygoogloval stejny dotaz se stejnym resenim jako jsem neuspesne zkousel a pritom to tam vsem zjevne funguje ... :-|

Sten

Re:Problém s xargs
« Odpověď #3 kdy: 20. 09. 2012, 22:32:21 »
Ale tohle je čisté řešení. Teda tak čisté, jak čisté je xargs :-)

Arthur

  • ***
  • 155
    • Zobrazit profil
    • E-mail
Re:Problém s xargs
« Odpověď #4 kdy: 21. 09. 2012, 09:54:02 »
No tak jo no :-)


Re:Problém s xargs
« Odpověď #5 kdy: 21. 09. 2012, 18:57:35 »
Me to moc ciste neprijde, co se stane az dojde delka prikazove radky a xargs to rozdeli na vic vyvolani?
Mozna by to chtelo nejaky miniskript 'prikaz "$@" parametry', ale to mi pri preteceni commandline taky moc nepomuze ... leda si rucne zjistit maximum a do xargs predhodit limit uz zmenseny (na to tam paremetr je).