5月 23rd, 2008at 11:52

Tags: ,

bashのfor文でよく使うものメモ

このエントリーをはてなブックマークに追加

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
line02
line03
for line in `cat 000.txt`; do
echo "${line}"
done
# 実行結果
line01
line02
line03

空の行が読み飛ばされているのが素敵。

catでファイルを読み込んで処理するループその2

# 000.txt
line 01
line 02
line 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
このエントリーをはてなブックマークに追加