gawk的switch使用问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
noc_ken
帖子: 12
注册时间: 2009-12-05 8:35

gawk的switch使用问题

#1

帖子 noc_ken » 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)
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: gawk的switch使用问题

#2

帖子 YeLee » 2014-02-15 9:54

代码: 全选

gawk '{ switch ( NR ) {case "1":print $0"---";break;case "2":print $0"***";break;case "3": print $0"===";break}}' test1
要break。 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
回复