半角スペースで複数のURLをつなげた理由は、5行目の「for」文でそのURLを一つずつ処理するためです。for文はループ処理で、
1 2 3 4 |
for 変数 in リスト do 処理 done |
という形式で記述します。半角スペースで区切られたリスト内の各値を変数に代入しながら、「do」~「done」の処理を繰り返し実行します。ここでは、リストはURL変数に格納されています。変数内から値を読み出すには先頭に「$」を付けます。なお、変数かどうか分かりにくい場合もあるので「${」と「}」で囲むようにして「${URL}」のように記述してもよいでしょう。
6行目の「do」でfor文によるループ処理の開始位置を示します。7行目の変数「DP」には、区切り文字を「/」として整形前のURLの4列目に当たる文字列を代入しています。ここでもコマンド置換を利用しています。「echo」コマンドで変数「i」の値を出力しています。URL変数と同様に「$」を先頭に付けます。
「|」は「パイプライン」です。
1 |
コマンド1 | コマンド2 |
と記述した場合、コマンド1の結果をコマンド2に渡せます。ここでは、整形前の一つのURLが「cut -f 4 -d “/”」に渡っています。「cut」は、列を切り出すコマンドです。「-f」オプションで指定した列(ここでは4番目)を切り出します。「-d」オプションには区切り文字を指定します。