Top>Linux>スクリプト>2019013101

●リストのアイテム毎に処理を行う。

コマンドの実行結果や、リストファイル中の各アイテムについて処理を行いたい場合が必ずでてくるだろう。
たとえばデータベースに対して一覧にあるテーブルについて何か処理を行いたいなどといった場合である。
やり方はいろいろとあると思われるが、ここではfor文を使った方法について記載する。

環境
bash
シェルスクリプト

方法① - for文のリストを指定する個所でリストの取得処理を実行する。
for item in `リスト取得処理`;
do
    itemを処理するステートメントを記述する。
done

(例)リストファイルの各アイテムを表示する。
for item in `cat list.txt`;
do
    echo "${item}"
done

方法② - リストの取得結果をパイプでfor文の標準入力へリダイレクトする。
リスト取得処理 |
while read item;
do
    itemを処理するステートメントを記述する。
done

(例)リストファイルの各アイテムを表示する。
cat list.txt |
while read item;
do
    echo "${item}"
done

最終更新日:2019/01/31

- Published By MINDKERNEL.COM -