mit sed / in einem File ersetzen lassen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
josh97
Beiträge: 23
Registriert: 20.12.2005 10:29:47
Lizenz eigener Beiträge: GNU General Public License

mit sed / in einem File ersetzen lassen

Beitrag von josh97 » 14.03.2007 19:34:39

Nabend zusammen!

Folgendes Problem:

Ich möchte aus einem File, welches einen längeren Pfad enthält
die / durch \ ersetzen. Das File wird dann weiterverarbeitet.

Bsp: /test/testing/qwertz_uvx/blablabla

allerdings ist da sed nicht gerade kooperativ. :roll:

Kann man das "/" bei sed irgendwie einklammern, so daß das funktioniert?

Ich habs bis jetzt leider nicht geschafft.

gruss
und danke
josh

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: mit sed / in einem File ersetzen lassen

Beitrag von GoKi » 14.03.2007 19:48:23

josh97 hat geschrieben:Kann man das "/" bei sed irgendwie einklammern, so daß das funktioniert?
Du musst mit \ escapen

Code: Alles auswählen

$ cat bla
/test/testing/qwertz_uvx/blablabla
/tmp/rfhejf
goki@jennifer:~$ sed -e 's/\//\\/g' bla
\test\testing\qwertz_uvx\blablabla
\tmp\rfhejf
Edit:
Man kann aber auch nen anderes Zeichen zum trennen nutzen. \ muss man immer noch escapen. Aber so wird dann noch Ascii-Art auf der Shell möglich :-)

Code: Alles auswählen

goki@jennifer:~$ sed -e 's|/|\\|g' bla
\test\testing\qwertz_uvx\blablabla
\tmp\rfhejf
MfG GoKi
:wq

josh97
Beiträge: 23
Registriert: 20.12.2005 10:29:47
Lizenz eigener Beiträge: GNU General Public License

Beitrag von josh97 » 15.03.2007 11:03:48

Sehr schön.

Vielen Dank ... funktioniert!

:)


gruss
josh

Antworten