infoMore than 5 years have passed since last update.
Bash コーディングの小ネタ [for loop 編]
Last updated at Posted at 2016-04-02
【Bash コーディングの小ネタ [for loop 編]】
- bash コーディングのテクニックをまとていく。今回は for loop 編。
♢ for loop
1. for loop でインクリメント
a. .. 記法 [刻み値1のインクリメント]
- 現行の bash v4 はインクリメントのロジックを内包しており、.. 記法のインクリメントを推奨。
- seq や expr よりも断然高速。子プロセスを別途立ち上げる必要無し。
#!/bin/bash
i=0
for i in {40..50}; do
echo $i
done
---- 実行結果 ----
40
41
42
43
44
45
46
47
48
49
50
b. .. 記法 [刻み値2以上のインクリメント]
#!/bin/bash
i=0
for i in {40..50..2}; do
echo $i
done
---- 実行結果 ----
40
42
44
46
48
50
c. .. 記法 [0パディング]
- 0パディングにも対応。日付ファイルを touch で作る際に愛用。
#!/bin/bash
i=0
for i in {01..10}; do
echo $i
done
---- 実行結果 ----
01
02
03
04
05
06
07
08
09
10
d. C言語ライク
- C言語ライクな記法にも対応。私はこの書き方が一番使いやすい。
- bash コーダ以外でも直感的に理解し易い点が good !!
#!/bin/bash
for (( i=0; i <= 5; i++ )) ; do
echo $i
done
---- 実行結果 ----
0
1
2
3
4
5
2. for loop でデクリメント
a. .. 記法 [刻み値1のデクリメント]
#!/bin/bash
i=0
for i in {50..45}; do
echo $i
done
---- 実行結果 ----
50
49
48
47
46
45
b. .. 記法 [刻み値2以上のデクリメント]
#!/bin/bash
i=0
for i in {50..40..2}; do
echo $i
done
---- 実行結果 ----
50
48
46
44
42
40
List of users who liked
22Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up