多くの.htmlファイルのディレクトリmyDir
があります。ディレクトリ内のすべてのファイルの配列を作成しようとしているので、配列のインデックスを作成し、ディレクトリ内の特定のhtmlファイルを参照できる場合があります。私は次の行を試しました:
myFileNames=$(ls ~/myDir)
for file in $myFileNames;
#do something
しかし、私はカウンター変数と次のようなロジックを持つことができるようにしたいです:
while $counter>=0;
#do something to myFileNames[counter]
私はシェルスクリプトを書くのは初めてで、これを達成する方法を理解することはできません。
できるよ:
# create an array with all the filer/dir inside ~/myDir
arr=(~/myDir/*)
# iterate through array using a counter
for ((i=0; i<${#arr[@]}; i++)); do
#do something to each element of array
echo "${arr[$i]}"
done
配列の繰り返しに対してもこれを行うことができます。
for f in "${arr[@]}"; do
echo "$f"
done
ソリューションは、配列を生成するために機能します。 whileループを使用する代わりに、forループを使用します。
#!/bin/bash
files=$( ls * )
counter=0
for i in $files ; do
echo Next: $i
let counter=$counter+1
echo $counter
done