I have a variable
var=string1:string2:string3
I want to get the string de-concatenated and put it as
var1=string1
var2=string2
var3=string3
Thanks in advance.
---------- Post updated at 02:18 PM ---------- Previous update was at 01:45 PM ----------
I got the solution as below:
var1=$( echo $var | cut -d":" -f1 )
var2=$( echo $var | cut -d":" -f2 )
var2=$( echo $var | cut -d":" -f3 )
ksh and later have ${name#pattern} with #, ##, % %% that cut strings by globbing pattern, built in, and newer ksh have numerically driven substring:
$ a=1234567890 ; echo ${a#????}
567890
$ dtksh -c 'a=1234567890 ; echo ${a:3:4}'
4567
$
1 Like
ctsgnb
3
echo $var | sed 's/:/ /g' | read var1 var2 var3
or
var1=${var%%:*}
var3=${var##*:}
t=${var#*:}
var2=${t%:$var3}
or
set -- $(echo $var | sed 's/:/ /g')
var1=$1
var2=$2
var3=$3