免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3003 | 回复: 16
打印 上一主题 下一主题

[文本处理] 请教大牛们一个文本处理的问题,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-05-05 21:11 |只看该作者 |倒序浏览
shell脚本实现执行命令的输出结果和当前时间记录到日志。
比如shell中命令:cp test.sh / >> test.log 2>&1
将错误信息(cp: /test.sh: Permission denied)记录到test.log中,并且行首记录当前时间。
小弟需要实现效果:2016-04-25 21:29:57 cp: /test.sh: Permission denied记录到test.log日志中(每行前面多了当前的执行时间),使用shell脚本如何实现呢?谢谢!

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
2 [报告]
发表于 2016-05-05 21:21 |只看该作者
获得当前系统时间?

论坛徽章:
0
3 [报告]
发表于 2016-05-05 21:28 |只看该作者
回复 2# mswsg


    是的,获取当前时间,var=`date "+%Y-%m-%d %H:%M:%S"`  可以实现,主要是不知如何在输出结果的每行行首加上这个时间

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
4 [报告]
发表于 2016-05-05 21:37 |只看该作者
print 格式控制不可以?回复 3# Ryanfox


   

论坛徽章:
0
5 [报告]
发表于 2016-05-05 21:44 |只看该作者
回复 4# mswsg


    怎么控制呢?求教了

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
6 [报告]
发表于 2016-05-05 21:45 |只看该作者
哥们,我只会python回复 5# Ryanfox


   

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
7 [报告]
发表于 2016-05-05 21:54 |只看该作者
本帖最后由 mswsg 于 2016-05-05 21:55 编辑

你放你自己的命令好了

time=`date "+%F %T"`
ip=`cat /var/state/network | sed -n '8p' | sed 's/^.*ddr=//g'`
echo "${time}  ${ip}"

论坛徽章:
0
8 [报告]
发表于 2016-05-05 21:58 |只看该作者
回复 6# mswsg


    好的,谢谢!如果日志log文件已经生成,print结合awk命令可以在log文件中,可以在每行行首增加当前时间,但是如果在输出执行结果的同时,前面带上当前时间输出到日志中,就不能使用awk了。

论坛徽章:
20
卯兔
日期:2015-01-26 22:05:142015亚冠之萨济拖拉机
日期:2015-09-10 15:15:282015亚冠之阿尔希拉尔
日期:2015-09-25 17:37:53程序设计版块每日发帖之星
日期:2015-10-03 06:20:00程序设计版块每日发帖之星
日期:2015-12-09 06:20:00CU十四周年纪念徽章
日期:2015-12-17 09:07:15程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:342015亚冠之广州富力
日期:2015-08-27 19:29:56每日论坛发贴之星
日期:2015-08-26 06:20:002015亚冠之阿尔希拉尔
日期:2015-05-18 17:26:27
9 [报告]
发表于 2016-05-05 22:04 |只看该作者
  1. cp test.sh / | awk '{printf("%s %s\n",strftime("%F %T",systime()),$0)}' > log
复制代码
这样?

论坛徽章:
0
10 [报告]
发表于 2016-05-05 22:12 |只看该作者
回复 7# mswsg


    还是不行,linux下的运行脚本,如下,执行结果为.
cp: /test.sh: Permission denied
2016-05-05 22:10:02
  1. #!bin/sh
  2. time=`date "+%F %T"`
  3. cmd=`cp test.sh /`
  4. echo "${time} ${cmd}"
复制代码
加入重定向到文件(cmd=`cp test.sh /` >> test.log 2>&1),日志中只能记录时间这一行?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP