我已经知道我可以使用array=( $( ls . ) )
,但我对这段代码有下一个问题:
array=( $( ls ./COS/cos*.txt ) )
for (( i = 0 ; i <= ${#array[*]}-1; i++ ))
do
sed 's/$'"/`echo \\\r`/" ${array[$i]} > ./COS/temp.txt
mv ./COS/temp.txt ${array[$i]}
done
我在整个脚本中有更多的循环,具有不同的目录,sed 和 mv 的各自指令没有问题,但是我对这部分代码有问题,似乎命令 ls 将整个结果保存在第一个位置数组,即如果COS目录有cos1.txt、cos2.txt和cos3.txt,而不是将cos1.txt保存在${array[0]}中,cos2.txt保存在${array[1]}和cos3中。 ${array[2]} 中的 txt 正在保存:
cos1.txt cos2.txt cos3.txt in ${array[0]},数组位置 0 的整个列表。你知道出了什么问题吗?