
Ich habe zwei Saiten wie diese.
a=[2018:09:11-18:37:06:376476]
b=[2018:09:11-18:37:06:376446]
Ich möchte zwei Saiten wie
a= 20180911183706376476
b= 20180911183706376446
Kann mir bitte jemand helfen?
Antwort1
Wenn Ihre Shell "//"-Ersetzungen in Variablen unterstützt, können Sie verwenden
a=${a//[]:[-]/}
[...]
(Beachten Sie, dass „-“ im Bereichsausdruck an letzter Stelle und „]“ an erster Stelle stehen sollte .
Wenn nicht, können Sie so etwas verwenden:
set_trim(){ local IFS=[:-]; v=$1; set -- $2; IFS=; eval "$v=$*"; }
set_trim a "$a"
set_trim b "$b"
oder mit sed
(weniger effizient, da ein externes Programm gestartet werden muss):
a=`echo $a | sed 's/[]:[-]//g'`