Wenn ich einen String habe 12345
und ihn in konvertieren möchte 1.2.3.4.5
, wie kann ich das mit KSH machen?
Ich habe versucht, es zu verwenden cut
, aber es ist nicht so einfach.
echo "12345" | cut -c1
Antwort1
Obligatorische awk
Antwort:
echo "12345" | awk '$1=$1' FS= OFS="."
Die Ausgabe lautet:
1.2.3.4.5
Die Antwort wurde von einer der Lösungen in geändertdieser Stack OverflowPost.
Antwort2
Perl-Regex (mit Nachschlagevorgängen und Rückverweisen) antwortet, alles außer dem letzten Punkt durch alles plus einen Punkt zu ersetzen (vorausgesetzt, das war die Frage):
$ echo "12345" | perl -wlpe 's/(.(?=.))/$1\./g'
1.2.3.4.5
Antwort3
Eine mit ksh und /usr/bin/sed auf OpenSolaris getestete Sed-Lösung
echo "12345" | /usr/bin/sed -e 's/./&\./g' -e 's/\.$//'