Portál AbcLinuxu, 10. května 2025 02:01

Dotaz: sed spouštějící funkci ve skriptu

MaSo avatar 24.4.2007 20:14 MaSo | skóre: 15 | blog: MaSo | Frýdek-Místek
sed spouštějící funkci ve skriptu
Přečteno: 118×
Odpovědět | Admin
Zdravím, pokud ve skriptu použiju
funkce () {
  echo "$RANDOM"
}
sed "s/xxx/$(funkce)/"
tak se spustí uvedená funkce a vracený výstup se použije pro nahrazení. Jde nějak vyřešit, aby:
1) se tato funkce spustila vždy s každým řádkem a ne jen jednou
   a výsledek použila pro všechny vstupní řádky
2) byl předán této funkci i aktuálně zpracovávaný řádek
Webové síťové nástroje: http://nettools.mzettik.cz (pracuje se na tom - pomalu :-) )
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jakub Hájek avatar 24.4.2007 21:06 Jakub Hájek | skóre: 14 | blog: zamek | Praha
Rozbalit Rozbalit vše Re: sed spouštějící funkci ve skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Třeba takhle?

while read radek
do
  sed "s/xxx/`funkce $radek`/"
done < vstup


Teprve tehdy, až nebudeme mít co ztratit, budeme opravdu svobodní.
25.4.2007 08:47 ..... | skóre: 18 | Pardubice
Rozbalit Rozbalit vše Re: sed spouštějící funkci ve skriptu
Uvnitř cyklu by asi mělo být
echo "$radek" | sed "s/xxx/`funkce "$radek"`/"
Jakub Hájek avatar 25.4.2007 13:00 Jakub Hájek | skóre: 14 | blog: zamek | Praha
Rozbalit Rozbalit vše Re: sed spouštějící funkci ve skriptu
Je to tak. Mea culpa.
Teprve tehdy, až nebudeme mít co ztratit, budeme opravdu svobodní.
MaSo avatar 27.4.2007 18:22 MaSo | skóre: 15 | blog: MaSo | Frýdek-Místek
Rozbalit Rozbalit vše Re: sed spouštějící funkci ve skriptu
Ano děkuji, toto mi pomohlo pokračovat dál. Už jsem si to jen doladil dle svých představ... Sice to není přesně jak jsem si to představoval, důležité však je, že je to funkční a rychlost skriptu není k zahození :-)

Děkuji všem za pomoc
Webové síťové nástroje: http://nettools.mzettik.cz (pracuje se na tom - pomalu :-) )

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.