
나는 이와 같은 두 개의 문자열을 가지고 있습니다.
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'`