fkjj.net
当前位置:首页 >> shEll如何将字符串按逗号分割并放入数组 >>

shEll如何将字符串按逗号分割并放入数组

root@localhost:~/xly# sh 1 hello abc shell haha 1 hello abc 2 shell 3 haha root@localhost:~/xly# vim 1 #!/bin/bash string="hello abc,shell,haha" OLD_IFS="$IFS" IFS="," array=($string) IFS="$OLD_IFS" for var in ${array[@]} do ec...

i=0for ..do....done |while read worddowhile [ -n $word ]do tmp=$wordword=${word#?}char=${tmp%$word}longarray[$i]=$chari=$((i + 1)donedone

有很多命令都可以实现你要求的功能,比如 awk: echo "1:3:5" | awk -F ":" '{print $NF}' sed: echo "1:3:5" | sed 's/.*:\([^:]*\)$/\1/'

root@localhost:~/xly# sh 1 hello abc shell haha 1 hello abc 2 shell 3 haha root@localhost:~/xly# vim 1 #!/bin/bash string="hello abc,shell,haha" OLD_IFS="$IFS" IFS="," array=($string) IFS="$OLD_IFS" for var in ${array[@]} do ec...

什么语言?一般的大部分语言都有split函数可以用于字符串分割的

echo $url | cut -d , -f 1 cut是切割命令,-d表示分隔符,这里是逗号,-f表示取第几个,这里是第一个 注意和数组不一样,数组是取第0个。

可以使用eval命令。eval命令,如同熟悉的其他脚本语言,会将它的参数做为命令执行。eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫...

# ls a.sh a.war b.war # sh a.sh "a.war" "b.war" # cat a.sh #!/bin/bash i=0 list=() for j in `ls *.war` #这里替换成你的ls.... do list[$i]=\"$j\" i=`expr $i + 1` done echo ${list[@]}

#!/bin/sh echo "please input str" read -s abc ###输入的字符串放入数组 echo ${abc[*]} ###显示数组

用cut最简便(参见 小米肥猫 的回答)。 另外,Bash中特有的字符串处理方法(掐头去尾法)也比较常用(参见下面的链接)。 对于这道题来说: var=“dfhjk_fewsk>dfakhi=vshbjy_df>brfdgr

网站首页 | 网站地图
All rights reserved Powered by www.fkjj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com