免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1729 | 回复: 8

awk调用system一问请教 [复制链接]

论坛徽章:
0
发表于 2012-05-28 15:22 |显示全部楼层
本帖最后由 psfan 于 2012-05-28 15:24 编辑

有一文本内容为
a;b;c
各项以分号";"相隔,现在想在最后一项添加时间,得到
a;b;c;2012-05-28
这样的结果。用awk命令如下:
  1. test@console ~]$ cat text|awk -F";" 'BEGIN{OFS=";"} {$4=system("date +%Y-%m-%d");print $0}'
  2. 2012-05-28
  3. a;b;c;0
复制代码
最后第四项变成了date命令成功执行的exit code,而不是内容,请问该如何写这个awk命令?

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2012-05-28 15:28 |显示全部楼层
回复 1# psfan


    "date +%Y-%m-%d" |getline time_; print $0,time_

论坛徽章:
0
发表于 2012-05-28 15:33 |显示全部楼层
回复 2# yinyuemi


    我滴妈呀,你太厉害了!谢谢啊

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
发表于 2012-05-28 15:35 |显示全部楼层
或者做成变量也可以:
  1. [seesea@UC ~]# echo "a;b;c" | awk -F";" -v vDate=$(date +%Y-%m-%d) 'BEGIN{OFS=";"} {$4=vDate;print $0}'
  2. a;b;c;2012-05-28
复制代码

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2012-05-28 19:15 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2012-05-28 20:13 |显示全部楼层
seesea2517 发表于 2012-05-28 15:35
或者做成变量也可以:
  1. echo "a;b;c" | awk -v vDate=$(date +%Y-%m-%d) '{$0=$0 ";"vDate}1'
复制代码

论坛徽章:
0
发表于 2012-05-28 22:49 |显示全部楼层
rdcwayx 发表于 2012-05-28 20:13

大牛,土问为啥后边加1可以直接代替print?

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2012-05-29 11:21 |显示全部楼层
又小又白 发表于 2012-05-28 22:49
大牛,土问为啥后边加1可以直接代替print?

这个问题问了很多遍了。
http://bbs.chinaunix.net/thread-1648283-1-1.html

论坛徽章:
0
发表于 2012-05-29 13:58 |显示全部楼层
回复 8# rdcwayx


    了解了,非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP