sed: # durch ' ersetzen [gelöst]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
becke
Beiträge: 365
Registriert: 29.11.2004 11:55:04
Wohnort: Ostwestfalen

sed: # durch ' ersetzen [gelöst]

Beitrag von becke » 16.02.2006 17:57:33

Hallo allerseits,
ich hab' mich verrannt.

Ich möchte in einer Datei mittels sed das Zeichen # durch ein Hockkomma ' ersetzen.
Wie muß ich das Zeichen ' korrekt maskieren?
So geht's leidet nicht:

Code: Alles auswählen

sed 's/#/\'/g' infile > outfile
Gruß, Becke
Zuletzt geändert von becke am 17.02.2006 11:35:14, insgesamt 1-mal geändert.

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 16.02.2006 18:59:23

Hallo becke,
ich würde sagen

Code: Alles auswählen

sed "s/#/'/g" infile > outfile 
Gruß fuzzy
Zuletzt geändert von fuzzy am 16.02.2006 19:01:24, insgesamt 1-mal geändert.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 16.02.2006 19:00:36

Code: Alles auswählen

peschmae@sid:/tmp$ echo "asdf # asdf"  | sed s/#/\'/
asdf ' asdf
Ich denke mal die bash mag das ' und \' nachher nicht so ;)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 16.02.2006 19:14:00

@becke
auf die nase fällst du weil du innerhalb der single qoutes noch ein single qoute hast - das du versuchst das zu escapen nützt dir nichts
http://cnswww.cns.cwru.edu/~chet/bash/b ... html#SEC10


wenn du versuchst das mit regex ersetzung zu machen bist du gezwungen das sed kommando zu quoten wenn es etwas ausgefallener ist

da du nur etwas (1 Zeichen) ersetzen willst würde ich das so machen

Code: Alles auswählen

markusgattol@pc1:~$ echo "agc#n  ##ll#a" | sed y/\#/\'/
agc'n  ''ll'a
markusgattol@pc1:~$
markus
Zuletzt geändert von meandtheshell am 16.02.2006 19:14:46, insgesamt 1-mal geändert.

Benutzeravatar
FANA
Beiträge: 482
Registriert: 30.03.2005 17:50:55

Beitrag von FANA » 16.02.2006 19:14:27

Code: Alles auswählen

sed s/\#/\'/g infile > outfile

Benutzeravatar
becke
Beiträge: 365
Registriert: 29.11.2004 11:55:04
Wohnort: Ostwestfalen

Beitrag von becke » 17.02.2006 11:16:07

Danke Leute, ihr hattet alle recht!
Jetzt läuft's :)

Gruß,
Becke

Antworten