bashでfor文はとても便利。
for?inを使う
IP=128.0.0
for i in 1 2 3; do
echo "${IP}.$i"
done
# 実行結果 128.0.0.1 128.0.0.2 128.0.0.3
lsを使ってディレクトリにあるファイル名でループ
for textfile in $( ls . ); do
echo "${textfile}"
done
# 実行結果 000.csv 000.txt 001.txt
lsをさらに応用して拡張子txtだけループ
for textfile in $( ls . | grep .txt$ ); do
echo "${textfile}"
done
# 実行結果 000.txt 001.txt
catでファイルを読み込んで処理するループ
# 000.txt
line01
line02line03
for line in `cat 000.txt`; do
echo "${line}"
done
# 実行結果 line01 line02 line03
空の行が読み飛ばされているのが素敵。
catでファイルを読み込んで処理するループその2
# 000.txt
line 01
line 02line 03
for line in `cat 001.txt`; do
echo "${line}"
done
# 実行結果 line 01 line 02 line 03
これも空の行が読み飛ばされ、半角スペースごとにループしている。
配列をつかってループ
array=( array01 array02 )for entity in ${array[@]}; do
echo "${entity}"
done
# 実行結果 array01 array02




コメントする