やる気がストロングZERO

やる気のストロングスタイル

awkまとめ

awk使うのがたまになので、いざ使うときにわすれているのでまとめておく。

参考図書:

シェルプログラミング実用テクニック

シェルプログラミング実用テクニック

変数
NF:各行の列数
NR:行番号

標準入力:
1 2 3 4 5
6 7 8 9 10

awk '{print $2, $(2+2)}'

標準出力:
2 4
7 9
標準入力:
1 2 3 4 5
6 7 8 9 10

awk '$5==5{print}'

標準出力:
1 2 3 4 5
標準入力:
1 2 3 4 5
6 7 8 9 10

awk '{print $1, $1, $1}'

標準出力:
1 1 1
6 6 6
標準入力:
1 2 3 4 5
6 7 8 9 10

awk '$5==5{print $1, $1}$5==10{print $2, $2}'

標準出力:
1 1
7 7
標準入力:
1 2 3 4 5
6 7 8 9 10

awk 'BEGIN{a=100000}{print a, $0}'

標準出力:
100000 1 2 3 4 5
100000 6 7 8 9 10
標準入力:
1 2 3 4 5
6 7 8 9 10

awk 'BEGIN{a=0}{a+=$1}END{print a}'

標準出力:
7
標準入力:
1 2 3 4 5
6 7 8 9 10

awk '{if($1==1){print $1}else{print $2}}'

標準出力:
1
7

for文について省略

標準入力:
1
2
3

awk '{printf("%d円\n", $1)}'

標準出力:
1円
2円
3円