[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

OT: sed - regex Problem



Hallo liebe Leute,

sorry wenn das etwas OT ist, aber ich werde einfach nicht schlau aus sed
und der regex, die ich brauche um mein Problem zu lösen. Obwohl
eigentlich ganz billig:

Ich habe ein umfangreiches tex-Dokument, ursprünglich unter einem
anderen Benutzernamen erstellt. Das Dok besteht aus diversen .tex
Dateien. Darin werden Bilder eingebunden, die ursprünglich mit
vollständigem Pfad referenziert wurden, also z.B.:

\input{/home/michel/thesis/pics/graphs/sigma_t}

Nun möchte ich, da es den user michel nicht mehr gibt, das Dok gern in
jedem beliebigen Verzeichnis compilieren lassen können. Dazu muss ich
dann /home/michel/thesis durch . ersetzen (oder liege ich damit
grundlegend falsch?). Damit könnte ich dann den Inhalt des
Top-Level-Directory "thesis" irgendwo hin packen, mit allen
Unterverzeichnissen, also z.B.
/tmp/compile_michels_thesis/

Darunter gäbe es dann pics/graphs/sigma_t und die zugehörige
\input-Anweisung wäre einfach

\input{./pics/graphs/sigma_t}

Alternativ kann ich das ./ vor pics wohl auch weglassen, latex macht das
so oder so.

Nun, da man ja faul ist (und mir dämmert, dass ich noch eine ganze menge
anderer alter Thesis-Tex-Doks modifizieren muss) möchte ich nicht jedes
File händisch im emacs hacken, sondern mit sed und einer for t in *.tex;
do Schleife.

Das mit der Schleife soll das Problem nicht sein, aber sed will schon
nicht.
Ich würde machen:

sed s/\(\/home\/michel\/thesis\)/./g testfile.tex > testfile.tex.neu

Und das gibt:

sed: -e expression #1, char 12: Unknown option to `s'

Ich würde mal tippen char 12 ist der / vor michel, aber warum versteht
er den ersten \/ offenbar richtig (escaped slash) und den zweiten nicht?
Was mache ich da falsch? Wäre toll wenn mir jemand einen Tip geben
könnte, ich blicks nicht.

Gruß
Lars


-- 
LarsWeissflog
L@rs-W dot DE




Reply to: