
Tengo dos cuerdas como esta
a=[2018:09:11-18:37:06:376476]
b=[2018:09:11-18:37:06:376446]
Quiero dos cuerdas como
a= 20180911183706376476
b= 20180911183706376446
¿Por favor, puede alguien ayudarme?
Respuesta1
Si su shell admite sustituciones "//" en variables, puede usar
a=${a//[]:[-]/}
(observe que "-" debe ser el último y "]" debe ser el primero en la [...]
expresión de rango.
Si no, puedes usar algo como esto:
set_trim(){ local IFS=[:-]; v=$1; set -- $2; IFS=; eval "$v=$*"; }
set_trim a "$a"
set_trim b "$b"
o, con sed
(menos eficiente ya que tiene que iniciar un programa externo):
a=`echo $a | sed 's/[]:[-]//g'`