
У меня есть две такие струны.
a=[2018:09:11-18:37:06:376476]
b=[2018:09:11-18:37:06:376446]
Я хочу две такие струны.
a= 20180911183706376476
b= 20180911183706376446
Кто-нибудь может мне помочь?
решение1
Если ваша оболочка поддерживает подстановки "//" в переменных, вы можете использовать
a=${a//[]:[-]/}
(обратите внимание, что «-» должно быть последним, а «]» должно быть первым в [...]
выражении диапазона.
Если нет, то можно использовать что-то вроде этого:
set_trim(){ local IFS=[:-]; v=$1; set -- $2; IFS=; eval "$v=$*"; }
set_trim a "$a"
set_trim b "$b"
или, с помощью sed
(менее эффективно, так как необходимо запустить внешнюю программу):
a=`echo $a | sed 's/[]:[-]//g'`