shell 如何用指定的分隔符来分割字符串让结果为一个字符串数组,类似 java 中的 split, 而 split 关键字已经留给文件分割了,故字符串就分割处理就不能在使用了,那如何来处理字符串串分割呢?方法有两种
一、对于不包含空格的字符串,使用下面方法
方法一
#!/bin/bash string="hello,shell,haha" array=(${string//,/ }) for var in ${array[@]} do echo $var done
方法二
#!/bin/bash string="hello,shell,haha" OLD_IFS="$IFS" IFS="," array=($string) IFS="$OLD_IFS" for var in ${array[@]} do echo $var done
方法三:利用tr 指令实现字符替换
#!/bin/bash string="one,two,three,four,five" array=(`echo $string | tr ',' ' '` ) for var in ${array[@]} do echo $var done
二、对于包含空格的字符串,使用下面方法
#!/bin/bash str='this is a good question, hello shell, look at me, show your enthusiasm' i=1 while((1==1)) do splitchar=`echo $str|cut -d "," -f$i` if [ "$splitchar" != "" ] then ((i++)) echo $splitchar else break fi done
到此这篇关于shell 使用指定的分割符来分割字符串的方法的文章就介绍到这了,更多相关shell 分割字符串内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://zxbcw.cn/post/186276/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)