units=(`echo $line | tr ',' ' '`)#或者 units=(${line//,/ }) for((i=0;i<${#units[@]};i=i+1)); echo -n ${units[i]}" " echo"" echo "*************************"

这里,读取每一行变为字符串,然后使用tr讲逗号替换为空格,直接赋值即可转为数组。

设输入文件为:beijing,tianjin,hebeihaidian,xicheng,fengtaiChina,USA,UK按行读文件并将每一行转为数组:if [ $# != 1 ];then echo "Usage "$0" Anafile" exitficat $1 | while read linedo units=(`echo $line | tr ',' ' '`)#或者 units=(${line//,/ }) for((i=0;i&l
一个简单的 shell 脚本确实最常用的,有时候我们需要从文本中 一行 一行 取并存到 数组 里。假如我有一个 文件 叫list.txt,如果你是在linux上创建的 文件 请忽略这个步骤。假如我在windows上编辑过那么格式就不是linux上的unix格式了,我需要先转换格式为unix防止出现意想不到的错误。具体方法请看下面 应该会显示 文件 类型 这个时候我们需要借助vim的命令,如下操作 按住shift+冒号进入命令模式输入以下命令 最后wq保存,再使用file命令查看 文件 属性就变成unix格式了。 没有后面那一段提示了,
[root@host ~]# str="ONE,TWO,THREE,FOUR" [root@host ~]# arr=(${str//,/}) [root@host ~]# echo ${arr[@]} ONE TWO THREE FOUR 方法二: 借助于tr命令来处理 [root@host ~]# str="ONE,TWO,THREE,FOUR"