PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleiner Bash Befehl



Windi
21.07.05, 12:00
Hallo,

ich würde sehr gerne folgendes mittels Bash lösen und da ich nicht gerade ein Profi in Bash Programmierung - besser gesagt blutiger Anfänger - bin, hätte ich eine Frage:

Wir könnte ich folgendes lösen:

Ich habe ein File. In der ersten Zeite ist inmitten von anderen Wörtern ein String, der einmalig ist und genau diesen String möchte ich durch einen anderen String ersetzen und das wieder dorthinschreiben wo es hin sollte.

Ist - kann ich mir denken - sehr einfach, allerdings habe ich leider keine Ahnung :(

Kann mir wer helfen?

mfg

linuxazubi
21.07.05, 12:13
http://www.linuxfibel.de/grep.htm
http://www.linuxfibel.de/sed.htm

Scorpion
21.07.05, 12:23
cat file | sed 's/string/replacement/g' > file

MfG Scorpion

Windi
21.07.05, 12:29
Danke das funktioniert nun :)

fuffy
21.07.05, 12:29
cat file | sed 's/string/replacement/g' > file
Das endet doch in einer leeren Datei. ;)

sed -i 's/pattern/replacement/g' file
Gruß
fuffy

Windi
21.07.05, 12:48
Noch eine Frage: Kann ich damit auch Zeilenumbrüche ersetzen? Mit "\n" ging's nicht.

pibi
21.07.05, 15:00
Noch eine Frage: Kann ich damit auch Zeilenumbrüche ersetzen? Mit "\n" ging's nicht.Ersetzen durch was? Evtl. koennte "tr" etwas fuer dich sein:
pit@tgz1:/data> echo Dcgsgs Forum cst egcl! | tr "abcdefghijk" "kjihgfedcba"
Dieses Forum ist geil!
pit@tgz1:/data>
Gruss Pit.

fs111
21.07.05, 18:30
in vim ist der Zeilenumbruch ein \r, das sollte in sed auch so sein.

fs111