awkで2行目以降の行のみ処理を行う
Pocket

awkで2行目以降の行のみで処理を行わせる場合、NR(awkで何行目かを認識する変数)を用いて、以下のようにすればよい。

awk 'NR>1{処理内容}'
blacknon@BS-PUB-UBUNTU-01:~$ cat /tmp/test.csv
id,user,value
1,aaa,1223
2,bbb,3333
3,ccc,855
4,ddd,998
5,eee,24354
6,fff,345
7,ggg,325
8,hhh,22
9,iii,4657
10,jjj,896
blacknon@BS-PUB-UBUNTU-01:~$ awk -F, 'NR>1{print $2}' /tmp/test.csv
aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
jjj
Sponsored Links

1行目も出力させる場合は、ifと組み合わせてやればよい。

awk '{if (NR==1)print $0;else 2行目以降の処理}'
blacknon@BS-PUB-UBUNTU-01:~$ awk -F, '{if (NR==1)print $0;else print $2}' /tmp/test.csv
id,user,value
aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
jjj

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*