Chtěl bych mít možnost používat xargs
k provedení více parametrů v různých částech příkazu.
Například následující:
echo {1..8} | xargs -n2 | xargs -I v1 -I v2 echo the number v1 comes before v2
Doufám, že se to vrátí
the number 1 comes before 2
the number 3 comes before 4
… atd
Je to dosažitelné? Mám podezření, že moje vícenásobné použití -I
je nesprávné.
Přijatá odpověď:
Domnívám se, že nemůžete použít -I
tím způsobem.
Ale můžete dosáhnout požadovaného / chování tím, že řeknete:
echo {1..8} | xargs -n2 sh -c 'echo "the number $1 comes before $2"' sh
To v podstatě vytváří ad hoc jednořádkový shell skript,
který xargs
spustí se pomocí sh -c
.
Dvě hodnoty, které xargs
analýzy ze vstupu
jsou předány tomuto „skriptu“.
Shell pak tyto hodnoty přiřadí $1
a $2
,
na který se pak můžete odkázat ve „skriptu“.