Sort
Sortierprobleme mit Sonderzeichen
Es dauerte eine geraume Weile, bis ich bei der Sortierung meines Literaturverzeichnisses (Zwischenüberschriften hatte ich im Vim schon durch Suchfunktion gekillt) der Dissertation mitbekam, dass sort die Latex-Befehle nicht mag. Auf stdout las ich irgendwann ein Feedback wie Set LC_ALL=C, und da ich mal wieder zu blöd war, zu erkennen, dass hier eine builtin-Funktion der bash angesprochen werden sollte, hampelte ich eine ganze Weile und ärgerte mich, dass sort nur auf stdout schrieb, nicht aber eine Umlenkung in eine Datei per ">" erlaubte. Ich begreife das aber bis heute nicht so ganz.
Was war die Aufgabe? Nach dem Gespräch mit Angeli bzgl. der Diss-Änderungen im April 2008 stand das Verzeichnis zur Disposition. Auch Hubert hatte sich daran gerieben:
-
die in Sektionen unterteilte Biografie von den Sektionen befreien (in Vim)
-
Alle Einträge alphabetisch sortieren.
Der Anschaulichkeit halber hier ein Ausschnitt aus der ursprünglichen Datei.
\part{Anhang}
\begin{flushleft}
\begin{thebibliography}{:}
\bibitem[BEST]{best} Best, Otto F.: Handbuch literarischer Fachbegriffe. Definitionen und Beispiele. Frankfurt/M. \textsuperscript{8}1987
\bibitem[BIOLOGIE 1980]{bio80} Vogel, Günter; Angermann, Hartmut: Dtv-Atlas zur Biologie. Tafeln und Texte. (2 Bände) München \textsuperscript{16}1980
\bibitem[BREHMS TIERLEBEN]{brehm} Brehms Tierleben. Allgemeine Kunde des Tierreichs. Band 2. Die Vielfüßler, Insekten und Spinnenkerfe. Leipzig, Wien 1920
Die Lösung:
cat literaturverzeichnis.tex | LC_ALL=C sort -f -u >test2.tex
Hierbei funktioniert der Zeiger -u so, dass doppelte Zeilen gelöscht werden. Das war sinnvoll, da in der Ursprungsdatei nach jedem Eintrag eine Leerzeile eingefügt war. Somit hat man nachher eine schöne, saubere Datei. Nur muss das Kommando \part{Anhang} wieder in die erste Zeile bugsiert werden.
Sed
sed und reguläre ausdrücke:
sed 's/home\/slip/home\/slup/g' schwipp.txt | sed 's/\"slip/\"slup/g' > schwupp.txt
hilft bei:
gegeben: ein file mit n vorkommen des pfades /home/slip
sowie der anführung "slip"
in file (schwipp.txt). file nach umbenennung des usernamens. ersetzt wird nun alles zu slup und in das file schwupp.txt geschrieben.
-- MatthiasWeiss - 19 Nov 2004