
Eu tenho duas cordas assim,
a=[2018:09:11-18:37:06:376476]
b=[2018:09:11-18:37:06:376446]
quero duas cordas assim
a= 20180911183706376476
b= 20180911183706376446
Alguém pode me ajudar?
Responder1
Se o seu shell suportar substituições "//" em variáveis, você pode usar
a=${a//[]:[-]/}
(observe que "-" deve ser o último e "]" deve ser o primeiro na [...]
expressão de intervalo.
Caso contrário, você pode usar algo assim:
set_trim(){ local IFS=[:-]; v=$1; set -- $2; IFS=; eval "$v=$*"; }
set_trim a "$a"
set_trim b "$b"
ou, com sed
(menos eficiente, pois precisa iniciar um programa externo):
a=`echo $a | sed 's/[]:[-]//g'`