为编程爱好者分享易语言教程源码的资源网

网站首页 > 网络编程 > 其它综合 正文

shell 数据取值 分割后的每个字段赋值给变量

三叶资源网 2023-01-08 20:18:50 其它综合 1167 ℃ 0 评论

比如比如我有一个变量 “123 456 789”,要求以空格为分隔符把这个变量分隔,
并把分隔后的字段分别赋值给变量,即a=123;b=456;c=789

下面几个方法可以参考:

定义一个数组,然后把分隔出来的字段赋值给数组中的每一个元素

通过eval+赋值的方式

通过多次awk把每个字段赋值

具体直接看测试脚本:

#!/bin/bash
str="123,456,789"
arr=${str//,/ }
for each in ${arr[*]}
do
  echo $each
done
echo "++++++++++++++++++++++++++++++"
a="123 456 789"
declare -a arr
index=0
for i in $(echo $a | awk '{print $1,$2}')
do
    arr[$index]=$i
    let "index+=1"
done
echo ${arr[0]}
echo ${arr[1]}
echo "++++++++++++++++++++++++++++++"
b=""
c=""
eval $(echo $a | awk '{ printf("b=%s;c=%s",$1,$2)}')
echo $b
echo "++++++++++++++++++++++++++++++"
eval $(echo "aa:bb" | awk -F ":" '{print "i1="$1";i2="$2}')
echo "++++++++++++++++++++++++++++++"
apitypes=apis,auth,nginx,apapche
apitypeArray=$apitypes
echo $apitypes
echo $apitypeArray
echo "+++++++++++++++++++++++"

for i in ${apitypeArray//,/ }
    do
        # call your procedure/other scripts here below
        echo "$i"
    done
echo "++++++++++++++++++++++++++++++"
for f in ${apitypes//,/ }
    do
        # call your procedure/other scripts here below
        echo "$f"
    done
echo "++++++++++++++++++++++++++++++"

eval $(echo $apitypes|awk -F"," '{print "i1="$1";i2="$2}')
echo $i1
echo $i2

Tags:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
标签浏览器ckplayer示例smartQQ多线程培训鱼刺多线程易语言滑动验证码Tencent企点加好友点菜系统控制继电器新浪微博群号转链接新浪微博Web协议QQ好友批量点名片赞web面试题JSONEXUI仿迅雷登陆界面树型框临时会话读卡器开发COM对象组件
最新评论