Hallo Liste, wie kann ich in einem String das i-te Zeichen gegen ein Anderes austauschen? Gruß Boris
Hallo, Am Wed, 16 Nov 2005, Boris Höffgen schrieb:
Hallo Liste, wie kann ich in einem String das i-te Zeichen gegen ein Anderes austauschen?
In der bash: $ replace_at_N_by_X_in_str() { echo "${3:0:$[$1-1]}${2}${3:$[$1]:${#3}}"; } $ replace_at_N_by_X_in_str 4 X "123456789" 123X56789 repl_at_N_by_X_in_str 7 U "123456789" 123456U89 Bitte selber nachvollziehen oder eben nachfragen. -dnh -- Jeder hat das Recht auf seine eigene Meinung, aber er hat keinen Anspruch darauf, dass andere sie teilen. -- Manfred Rommel
Hallo nochmals, David Haller schrieb:
In der bash:
$ replace_at_N_by_X_in_str() { echo "${3:0:$[$1-1]}${2}${3:$[$1]:${#3}}"; } $ replace_at_N_by_X_in_str 4 X "123456789" 123X56789 repl_at_N_by_X_in_str 7 U "123456789" 123456U89
Oder (falls du sed anwenden möchtest) die folgende Zeile als Datei (z.B. repl_chr) speichern (chmod u+x danach nicht vergessen!): echo "$3" | sed 's/\(.\{'$(( $1-1 ))'\}\).\(.*\)/\1'$2'\2/' und mit 'repl_chr X Y STRING' ausführen. Gruß Kimmo
participants (3)
-
Boris Höffgen
-
David Haller
-
K. Elo