Portál AbcLinuxu, 12. května 2025 06:26
s
(GNU sed) provedl nahrazení?
Můžeš prosímtě dotaz trochu upřesnit, příp. napsat konkrétní využití?
sed 's/regexp/náhrada/g'Ta informace je pouze pro mě - nechci ji nijak využívat ve skriptu, pokud je to, na co se ptáš.
info sed
, tedy při každé úspěšné náhradě si někam odskočit a tam čarovat s čísly (přičíst jedna). Jako vzor by mohlo soužit "numbering non-blank lines". Následující příklad nahrazuje foo za baz a při každé náhradě na stderr vypíše kolikáté nahrazení to je.
#!/bin/sed -nf s/foo/baz/g Tf x /^$/ s/^.*$/1/ G h s/.*\n\(.*\)/\1/p x s/\n.*$// w/dev/stderr /^9*$/ s/^/0/ s/.9*$/x&/ h s/^.*x// y/0123456789/1234567890/ x s/x.*$// G s/\n// h b :f pAsi by to šlo nějak poštelovat, aby to vypsalo třeba jen na konci a celkově odladit, ale nechce se mi s tím teď babrat, zas tak skriptovat v sedu neumím.
g
(global), což nevím jestli jste potřeboval. Každopádně je to zajímavý problém :)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.