Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166251
  • 博文数量: 21
  • 博客积分: 2371
  • 博客等级: 大尉
  • 技术积分: 217
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-15 18:36
文章分类

全部博文(21)

文章存档

2010年(6)

2009年(15)

分类:

2009-02-08 14:43:32

file
 

#
1
2
3
#
4
5
#
6
7
8
9
#

输出为

1,2,3
4,5
6,7,8,9

 

[root@Mylinux tmp]# awk 'BEGIN{RS="#";OFS=","}NF=NF' file
1,2,3
4,5
6,7,8,9

阅读(5118) | 评论(10) | 转发(0) |
0

上一篇:awk心得笔记

下一篇:strftime函数

给主人留下些什么吧!~~

kenshinsee2009-02-24 21:33:17

谢谢BZ,我大概明白了, $n=$n,n一定要小于等于字段数,不然字段数小于n的行不会被显示出来, 这也可以解释通 NF=NF, thx

ywlscpl2009-02-24 15:08:09

$1=$1 $2=$2 NF=NF效果都一样啊 设定OFS后,需对字段数NF(较老的awk版本可能无效)或某字段$1、$2...做过修改后才能生效 NF=NF就相当于对NF做了修改了

kenshinsee2009-02-23 23:07:22

[root@Mylinux tmp]# echo "1 2 3" | awk 'BEGIN{OFS=","}$1=$1' 为什么是$1=$1呢,第一个参数值重新赋给第一个参数,为什么需要这样呢? NF=NF我理解成在重新确认字段分隔符后参数保持不变,但为什么这样就可以让令设置生效呢? 还有什么时候可以用到$2=$2呢,麻烦举个例好么? 谢谢啦,对AWK不是非常明白,麻烦指教啦:)

ywlscpl2009-02-23 08:29:14

参见[url]http://blog.chinaunix.net/u3/91453/showart.php?id=1818683[/url]中的第2条和第3条 简单点说NF=NF等价于NF{print},且因为对NF进行过操作,设定的OFS生效

kenshinsee2009-02-22 23:11:35

你好,我不明白 NF=NF是什么意思,$1=$1和NF=NF 功能实现是相同的,能帮我解释一下吗?谢谢啦:-)