Bashのforループをマスターする:初心者向けガイド
January 16, 2025
Bashスクリプトを使う際、繰り返し処理を効率的に実行するにはforループが欠かせません。例えば、複数のファイルを操作する場合やリスト内のデータを処理する際に、forループを活用することで簡単に自動化できます。本記事では、Bashのforループの基本構文から実践的な使い方までを初心者向けに解説します。
1. Bashのforループの基本構文
forループは、リスト内の各要素に対して処理を繰り返す際に使用されます。
基本構文:
for item in list; do
# 各要素に対して実行するコマンド
done
例:
以下の例では、リスト内の値を順番に出力します。
#!/bin/bash
for fruit in apple banana cherry; do
echo "果物: $fruit"
done
出力結果:
果物: apple
果物: banana
果物: cherry
2. 数値の範囲を使ったループ
数値の範囲を指定することで、特定の回数だけループを実行することができます。
構文:
for i in {start..end..step}; do
# 処理
done
例:
1から10までを2ずつ増加させながら出力します。
#!/bin/bash
for i in {1..10..2}; do
echo "数値: $i"
done
出力結果:
数値: 1
数値: 3
数値: 5
数値: 7
数値: 9
3. ファイル操作での応用
forループは、複数のファイルを効率的に処理する際に便利です。
例:ディレクトリ内の全ファイルを出力
#!/bin/bash
for file in /path/to/directory/*; do
echo "ファイル名: $file"
done
例:特定の拡張子のファイルを処理
#!/bin/bash
for file in *.txt; do
echo "テキストファイル: $file"
done
4. ループ内で条件を使用する
forループ内で条件分岐を使用すると、より柔軟なスクリプトを作成できます。
例:
#!/bin/bash
for i in {1..10}; do
if (( i % 2 == 0 )); then
echo "$i は偶数です"
else
echo "$i は奇数です"
fi
done
5. 実用的な応用例
以下は、forループを使った実用的な例です:
例1:ログファイルのバックアップ
#!/bin/bash
for file in /var/log/*.log; do
cp "$file" /backup/$(basename "$file")
done
例2:複数ファイルの検索と置換
#!/bin/bash
for file in *.txt; do
sed -i 's/oldtext/newtext/g' "$file"
done
まとめ
Bashのforループを習得することで、タスクの自動化や効率化が格段に向上します。基本構文を理解し、実践例を参考にしながら、自分のニーズに合ったスクリプトを作成してみましょう。
さらにBashスクリプトを学びたい方は、私たちのBashスクリプトチートシートもご覧ください!