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"