Fórum Root.cz

Hlavní témata => Software => Téma založeno: Arthur 20. 09. 2012, 14:55:22

Název: Problém s xargs
Přispěvatel: Arthur 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
Název: Re:Problém s xargs
Přispěvatel: Sten 20. 09. 2012, 17:48:05
(find; echo parametry) | xargs prikaz  ;)
Název: Re:Problém s xargs
Přispěvatel: Arthur 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 ... :-|
Název: Re:Problém s xargs
Přispěvatel: Sten 20. 09. 2012, 22:32:21
Ale tohle je čisté řešení. Teda tak čisté, jak čisté je xargs :-)
Název: Re:Problém s xargs
Přispěvatel: Arthur 21. 09. 2012, 09:54:02
No tak jo no :-)
Název: Re:Problém s xargs
Přispěvatel: Karel Karlik 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).