免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xinxin12375
打印 上一主题 下一主题

昨天去腾讯现场招聘会,一上来就被问闷了。 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2009-03-01 20:46 |显示全部楼层
原帖由 我是DBA 于 2009-3-1 20:40 发表
[test@erpdataserver ~]$ awk -v RS='[' '$1=$1{print "["$1,(NF-1)}' 1
[11235334] 2
[23432423] 1
[test@erpdataserver ~]$ cat 1
[11235334]
13454543454
13643543544
[23432423]
13654645542



能解释一下吗?

论坛徽章:
0
2 [报告]
发表于 2009-03-01 21:21 |显示全部楼层
原帖由 我是DBA 于 2009-3-1 20:40 发表
[test@erpdataserver ~]$ awk -v RS='[' '$1=$1{print "["$1,(NF-1)}' 1
[11235334] 2
[23432423] 1
[test@erpdataserver ~]$ cat 1
[11235334]
13454543454
13643543544
[23432423]
13654645542


$1=$1 是什么意思呀 还有awk -v 虾米意思呀

论坛徽章:
0
3 [报告]
发表于 2009-03-01 21:29 |显示全部楼层
原帖由 我是DBA 于 2009-3-1 21:27 发表
$1=$1赋值啊,
-v设置变量


$1=$1 解释下嘛 我琢磨了半天 还是没明白$1=$1到底有虾米用
拜托啦

论坛徽章:
0
4 [报告]
发表于 2009-03-01 21:47 |显示全部楼层
原帖由 我是DBA 于 2009-3-1 21:40 发表
重置输出分隔符
给你个例子吧
[test@erpdataserver ~]$ cat 1
1 2          3  4
a a a  5 2             7
[test@erpdataserver ~]$ awk '$1=$1' 1
1 2 3 4
a a a 5 2 7


是把所有的空格 都删除的意思吗?

论坛徽章:
0
5 [报告]
发表于 2009-03-01 21:59 |显示全部楼层
原帖由 blackold 于 2009-3-1 21:52 发表


试试如下内容:


这个贴子让我心痛。


黑哥 试你的这个 怎么第2行没了阿?

论坛徽章:
0
6 [报告]
发表于 2009-03-01 22:02 |显示全部楼层
原帖由 我是DBA 于 2009-3-1 22:01 发表
看来还得跟黑哥好好学习

快告诉我下吧。。明天还要上班挖。。>_<``  $1=$1  好深奥阿

论坛徽章:
0
7 [报告]
发表于 2009-03-01 22:05 |显示全部楼层
原帖由 我是DBA 于 2009-3-1 22:03 发表
因为0 默认就不打印了。

那是不是 第1欲为 0的 就不打印了 而且把所有的 空格都替换为一个空格?

论坛徽章:
0
8 [报告]
发表于 2009-03-01 22:11 |显示全部楼层
原帖由 blackold 于 2009-3-1 22:07 发表
在许多语言中,赋值语句($1=value)的真值由所赋的值决定。

在这个例子中,当value为0或者空字符串""时,值为false,不执行默认的action(print $0)。

在awk中$1=value如" 我是DBA" 所说,还在其它的“副作 ...


原来如此 那 $1=$1在刚才中是充当for 语句进行后面action的循环吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP