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

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

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