Hallo ich möchte gern in einem String, der mir als Shell-Variable vorliegt ein Zeichen gegen ein anderes tauschen. Konktret geht es mir um ein Datum. Es liegt im folgenden Format vor: 01.01.2016 und soll umgewandelt werden in 01/01/2016 Kann man das mit einem kurzen Befehl hinbekommen? Ich denke mal man muss "sed" dafür bemühen, ich weiss aber nicht genau wie... Kann mir jemand helfen?
Zeichen in String austauschen
![]() Anmeldungsdatum: Beiträge: 843 |
|
||||||||
![]() Anmeldungsdatum: Beiträge: 6 Wohnort: Thüringen |
Guten Morgen gnude, ja das funktioniert mit sed.
Die Erklärung, der Punkt wird gegen ein Slash getauscht. sed 's/.///g' Hier nochmal eine Hilfe zu "sed" http://sed.sourceforge.net/sed1line_de.html mfg |
||||||||
![]() Anmeldungsdatum: Beiträge: 1570 Wohnort: Terra incognita |
Es geht auch ohne sed(!):
|
||||||||
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 843 |
Die sed-freie Lösung ist mir am liebsten aus Performancegründen ... THX 👍 |
||||||||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
Sicher nicht. Erstens ist der Punkt der Platzhalter für jedes Zeichen, also muss man ihn maskieren. Zweitens ist der Slash der Pattern/Replacement-Trenner und muss ebenfalls maskiert werden:
Man auch gleich einen anderen Trenner benutzen:
|
||||||||
![]() Anmeldungsdatum: Beiträge: 17625 Wohnort: Berlin |
Was ich noch sagen wollte, phunter88: Probier Deine Tipps aus, bevor Du sie postest - alles was man nicht überprüft hat, kann man sagen, ist falsch und klappt nicht. Man arbeitet sonst länger mit Deinen Fehlern als der ursprünglichen Frage. Wenn die Korrektoren ebenso schlampig arbeiten wie Du wird man dann nie fertig. |