gawk的switch使用问题
发表于 : 2014-02-15 9:08
今天刚好要用gawk的switch一个分隔,却出了点无法理解的结果,请大家帮忙看看是咋回事,谢谢!
假设我的待分隔是如下内容:
ken@ken-notebook:/dev/shm$ cat test1
fjiefjeio
2194309
oyiptiopty
我想要依照RECORD的序号在每条记录后面追加点东西,比如像这样:
fjiefjeio---
2194309***
oyiptiopty===
于是,我用gawk的switch,却出现了如下结果...
ken@ken-notebook:/dev/shm$ cat test1 | gawk '{ switch ( NR ) {case "1":print $0"---";case "2":print $0"***";case "3": print $0"==="}}'
fjiefjeio---
fjiefjeio***
fjiefjeio===
2194309***
2194309===
oyiptiopty===
为啥会这样呢?(gawk版本:GNU Awk 3.1.8)
假设我的待分隔是如下内容:
ken@ken-notebook:/dev/shm$ cat test1
fjiefjeio
2194309
oyiptiopty
我想要依照RECORD的序号在每条记录后面追加点东西,比如像这样:
fjiefjeio---
2194309***
oyiptiopty===
于是,我用gawk的switch,却出现了如下结果...
ken@ken-notebook:/dev/shm$ cat test1 | gawk '{ switch ( NR ) {case "1":print $0"---";case "2":print $0"***";case "3": print $0"==="}}'
fjiefjeio---
fjiefjeio***
fjiefjeio===
2194309***
2194309===
oyiptiopty===
为啥会这样呢?(gawk版本:GNU Awk 3.1.8)