[linux-l] regex problem

Andreas Röhler andreas.roehler at online.de
So Nov 6 16:00:15 CET 2011


Am 06.11.2011 13:30, schrieb Olaf Radicke:
> Hi,
>
>
> ich schaffe es einfach nicht ein regex hin zu bekommen, um alle Kommentare in
> einem LaTeX-Dokument raus zu löschen.
>
>
> Versucht habe ich es hier mit:
>
>
> sed 's/[^\\]%.*$//g' ./testfiles/simple_single.tex
>
>
> Also: "Suche alle % die kein vorangestelltes \ haben, gefolgt mit beliebigen
> Zeichen bis zum ende der Zeile".
>
>
> Strich \% ignorieren, da maskiert, und alle anderen löschen.
>
>
> Das Geht:
>
>
> In dem Fall ist das Ergebins, das was ich will:
>
>
> or at hamburg:~/Dokumente/git/TeXConv.html$ echo "Es sind 5\% der der Kommentare
> fehlerhaft. % ein kommentar." | sed 's/[^\\]%.*$//g'
> Es sind 5\% der der Kommentare fehlerhaft.
>
>
> Hier aber nicht:
>
>
> or at hamburg:~/Dokumente/git/TeXConv.html$ echo "% ein kommentar." | sed
> 's/[^\\]%.*$//g'
> % ein kommentar.
>
> Die Konstruktion funktioniert auch nicht richtig:
>
> or at hamburg:~/Dokumente/git/TeXConv.html$ echo " %ein kommentar." | sed
> 's/.*[^\\]%.*$//g'
>
> or at hamburg:~/Dokumente/git/TeXConv.html$ echo "%ein kommentar." | sed
> 's/.*[^\\]%.*$//g'
> %ein kommentar.
>
> Ich wäre dankbar, wenn mir Jemand weiterhelfen könnte!
>
> Gruß
>
> Olaf
>
>
>
>

wie wäre es mit dem:

echo "erst was, dann %ein kommentar." | sed 's/^\(.*\)[^\\]*%.*$/\1/g'




Mehr Informationen über die Mailingliste linux-l