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

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

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

三叶资源网 2023-01-08 20:18:50 其它综合 1005 ℃ 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
Sqlite本地库PrintableQQ空间协议网络相关源码万能快递单打印图片相似度识别MD5自效验图片裁剪鱼刺多线程获取登陆QQQQ授权登陆弹幕解析分组框美化CSDN微信登录机器人无限加好友模拟器中控Windows Shell屏幕录像变量数组
最新评论