[シェルスクリプト]ループのいろいろ

最近、シェルスクリプト(bash)でループを回す機会が増えてきたので、個人的によく使う例を一箇所にまとめておきました。
セミコロンの有無とかで注意が必要。

#!/bin/bash

for i in 1 3 5 7 9;
do
 echo $(printf "Number:%02d" $i)
done
#!/bin/bash

for ((i=0; i<5; i++))
do
 echo $(printf "Number:%02d" $i)
done
#!/bin/bash

for fn in `ls ./files/*.txt`;
do
 echo $(printf "FileName:%s" $fn)
done
#!/bin/bash

while read line
do
  eval ss=("$(sed -e "s/'/'\\\\''/g" -e "s/\t/'\t'/g" -e "s/^/'/" -e "s/$/'/" <<< "$line")")
  echo $(printf "No.%d %s" ${ss[0]} ${ss[1]})
done < <(tail -n +2 ./List.tsv)

(謝辞)
例4でタブ区切りするところは下記を参考にさせて頂きました。

「bashでTSV(タブ区切り)のデータを配列に入れる」
https://qiita.com/ymdymd/items/0ff295b78ca744b69a0e