Portál AbcLinuxu, 13. května 2025 16:41

Dotaz: bash-správný zápis presmerovani roury a sedu

27.3.2011 00:43 Tomasko | skóre: 4
bash-správný zápis presmerovani roury a sedu
Přečteno: 164×
Odpovědět | Admin
Ahojte, skoro uz na to nevidim, tak jestli mam nekde primitivni chybu, tak se omlouvam. diff -aurN a/$prom b/$prom > new/$prom.txt | sed -r -i '2 s#(neco)(neco)\1#\2#'

Popis co chci: porovnat diffem a ulozit vystup - to funguje sedem upravit druhy radek primo v souboru $prom.txt (ta koncovka txt je tam jenom pro priklad)

Nejsem si jistý, zda to lze takhle rourovat a nejsem si jistý zápisem sedu. Děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.3.2011 01:07 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: bash-správný zápis presmerovani roury a sedu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejsem si jistý, zda to lze takhle rourovat
Takto nelze. sed -i znamená editace souboru na místě. Musel byste: před sed -i dát ; místo | a nakonec řádku přidat new/$prom.txt.

Ale protože si ten soubor rovnou zeditujete a zálohu vytvářet nenecháte, dává větší smysl, napřed provést manipulaci sedem a pak si výsledek uložit:

diff ... | sed ... > výsledný_soubor

nejsem si jistý zápisem sedu
Těžko říci jestli je to to, co chcete. Něco, to udělá. Konkrétně výskyt (skupina1)(skupina2)(skupina1) to nahradí za skupina2.
http://prirucka.ujc.cas.cz/?ref=785&id=790.

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.