shell中按照指定字符截取两边的数据,放到变量里。 如var=a|b,按照|截取var中的a和b,分别放到A变量和B变量
#!/bin/sh
#filename: splitvar.sh
#author : cold night
# usage: ./splitvar.sh '分隔符' '字符串'
A=`echo $2 | awk -F"$1" '{print $1}'`
B=`echo $2 | awk -F"$1" '{print $2}'`
echo $A
echo $B
------------------------------------------------
把脚本保存为splitvar.sh, 给这个脚本执行权限:
chmod +x splitvar.sh
在脚本当前目录下使用下面格式执行
./splitvar.sh '分隔符' '要分割字符串'
比如
./splitvar.sh 'c' 'aacbb'
会输出:
aa
bb
#filename: splitvar.sh
#author : cold night
# usage: ./splitvar.sh '分隔符' '字符串'
A=`echo $2 | awk -F"$1" '{print $1}'`
B=`echo $2 | awk -F"$1" '{print $2}'`
echo $A
echo $B
------------------------------------------------
把脚本保存为splitvar.sh, 给这个脚本执行权限:
chmod +x splitvar.sh
在脚本当前目录下使用下面格式执行
./splitvar.sh '分隔符' '要分割字符串'
比如
./splitvar.sh 'c' 'aacbb'
会输出:
aa
bb
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-11-28
OLDIFS=$IFS
IFS="|"
ary=($var)
echo ${ary[0]}
echo ${ary[1]}
IFS=$OLDIFS
这个就是用IFS的设定,来把字串分成字串数组。
IFS="|"
ary=($var)
echo ${ary[0]}
echo ${ary[1]}
IFS=$OLDIFS
这个就是用IFS的设定,来把字串分成字串数组。
第2个回答 2011-11-28
#!/bin/sh
var=a|b
var1 =`echo val|awk -F "|" '{print$1}'`
var2 =`echo val|awk -F "|" '{print$2}'`
var=a|b
var1 =`echo val|awk -F "|" '{print$1}'`
var2 =`echo val|awk -F "|" '{print$2}'`