使用できることはすでにわかっています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 のそれぞれの指示を問題なく含む別のディレクトリを持つスクリプト全体に for ループがさらにありますが、コードのこの部分に問題があります。コマンド ls が結果全体を最初の位置に保存しているようですつまり、COS ディレクトリに cos1.txt、cos2.txt、cos3.txt がある場合、cos1.txt を ${array[0]} に、cos2.txt を ${array[1]} と cos3 に保存します。 ${array[2]} の txt を保存しています:
${array[0]} の cos1.txt cos2.txt cos3.txt、配列の位置 0 のリスト全体。何が悪いのか知っていますか?