Chinaunix

标题: 请教! [打印本页]

作者: ibmlaser    时间: 2006-06-01 11:20
标题: 请教!
ab cd  ef gh ij
怎么能把上面的一行一个个循环输出?
就是一次输出一个ab
然后cd
然后ef
...
..
谢谢大家啦!!!
作者: 寂寞烈火    时间: 2006-06-01 11:25
用个循环即可
BTW: http://bbs.chinaunix.net/viewthr ... &extra=page%3D1
作者: ibmlaser    时间: 2006-06-01 11:32
我是菜鸟,用awk写了半天不行呀
作者: woodie    时间: 2006-06-01 11:36
awk -v OFS="\n" '$1=$1""'
作者: ibmlaser    时间: 2006-06-01 11:43
标题: 回复 4楼 woodie 的帖子
楼上的,谢谢啦!可是为什么一下子全输出了呢?
ab
cd
ef
gh
ij
作者: woodie    时间: 2006-06-01 11:56
OFS                ->       输出时使用的字段分割符,设为\n,则输出每字段后换行。
$1=$1""         ->       给第一个字段赋值,强迫awk用新的OFS重组记录,否则新OFS不起作用。其实只要$1=$1就可以了。
更保险的写法是:
awk -v OFS='\n' '{$1=$1;print}'
作者: woodie    时间: 2006-06-01 12:02
这样也可以:
awk -v OFS='\n' '($1=$1)||1'
作者: woodie    时间: 2006-06-01 12:04
或者这样容易看懂些:
awk -v FS="" '{gsub(" ", "\n");print}'




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2