Portál AbcLinuxu, 7. května 2025 01:17

Dotaz: sed

pawleeq avatar 14.2.2012 01:00 pawleeq | skóre: 19 | blog: pawlixblg
sed
Přečteno: 225×
Odpovědět | Admin
Pokouším se napsat skript, který by pomocí sedu před značky jednotek (cm, mm atd.) automaticky strčil vlnovku. Potíž mi dělá kód, který by nahradil řetězec mezera jednotka konec závorky:

sed -i 's/ cm)/~cm)/g' $VSTUP

Bokud vezmu vstupní řetězec "(blabla 15 cm) bla" kód z něj vyrobí "(blabla 15~cm. bla" tedy uzavírací závorku nahradí tečkou. Jak z toho ven?

Díky.
Overground against monoculture.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

pawleeq avatar 14.2.2012 01:25 pawleeq | skóre: 19 | blog: pawlixblg
Rozbalit Rozbalit vše Re: sed
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přečetl jsem si tohle a metodou pokus omyl přišel na řešení.

sed -i 's/ cm)/~cm\)/g' $VSTUP
Overground against monoculture.
14.2.2012 01:30 l4m4
Rozbalit Rozbalit vše Re: sed
První věta odstavce 3.1.2 odkazovaného textu jednoznačně říká, že ) nemá v této části žádný speciální význam, tudíž se nemůže jen tak proměnit v tečku.

Pokud to tvůj sed dělá, tak to není sed a zahoď ho.
14.2.2012 01:27 l4m4
Rozbalit Rozbalit vše Re: sed
Odpovědět | | Sbalit | Link | Blokovat | Admin
Použít fungující sed?

Tohle se nemůže dít a také neděje (a ano, zkusil jsem to opravdu zreprodukovat, byť nevěřícně). Tu tečku tam vyrábí něco jiného.

Jinak je tedy nelámání řádků první krok k nápravě, ale vlnka dělá mezislovní mezeru, která je moc široká. Nejvhodnější šířka mezery s CM fonty je trochu otázka, ale mezera vložená \kern0.22222em by měla být zhruba správně (samozřejmě se pro ni nejlépe nadefinuje makro).
14.2.2012 19:53 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: sed
\,
14.2.2012 20:38 l4m4
Rozbalit Rozbalit vše Re: sed
\, je 1/6em, tedy opravdu dost úzká, a běžně se používá asi jen k oddělení vnořených uvozovek. Nevím, proč se tvůrci LaTeXu rozhodli definovat speciální makro zrovna pro mezeru 1/6em namísto užitečnější 2/9em, ale je pravda, že nevím, z typografických konvencí kterého jazyka a národa vlastně vycházeli...
Josef Kufner avatar 14.2.2012 21:10 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: sed
\, jsem používal na oddělení jednotek od čísel a vypadalo to hezky.
Hello world ! Segmentation fault (core dumped)
14.2.2012 21:42 l4m4
Rozbalit Rozbalit vše Re: sed
Já taky, když jsem byl ještě mladý a nezkušený.

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.