免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2934 | 回复: 13

[文本处理] sed awk 问题 [复制链接]

论坛徽章:
0
发表于 2015-08-05 22:15 |显示全部楼层
本帖最后由 Linux9253 于 2015-08-05 22:22 编辑
  1. [root@localhost opt]# cat scp.log
  2. + script -q -a scp.log -c 'scp -rP  22  root@172.10.10.130:/var/spool/cron/ /opt/opt/172.10.10.130'
  3. root                                                                                                100%   15     0.0KB/s   00:00   
  4. Info                                                                                                100%  304     0.3KB/s   00:00   
  5. + script -q -a scp.log -c 'scp -rP  22  root@172.10.10.130:/opt/admin/ /opt/opt/172.10.10.130'
  6. admin                                                                                               100%    0     0.0KB/s   00:00   
  7. route                                                                                               100%  213     0.2KB/s   00:00   
  8. + script -q -a scp.log -c 'scp -rP  22  root@172.10.10.130:/opt/net/ /opt/opt/172.10.10.130'
  9. net                                                                                                 100%    0     0.0KB/s   00:00   
  10. + script -q -a scp.log -c 'scp -rP  22  root@172.10.10.130:/opt/accp/ /opt/opt/172.10.10.130'
  11. accp.bak                                                                                            100%    0     0.0KB/s   00:00   
  12. [root@localhost opt]#
复制代码
怎么样输出
  1. root@172.10.10.130:/var/spool/cron/ # root  Info
  2. root@172.10.10.130:/opt/admin/ # admin route
  3. root@172.10.10.130:/opt/net/ # net
  4. root@172.10.10.130:/opt/accp/ # accp.bak
复制代码
用户和目录结构,端口号都不是固定的。求大神帮忙。。。。

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2015-08-05 22:37 |显示全部楼层
  1. $ awk '/^+/{s=s?s" #"a"\n"$10:$10;a=c}!/^+/{a=a" "$1}END{print s" #"a}' a.txt
  2. root@172.10.10.130:/var/spool/cron/ # root Info
  3. root@172.10.10.130:/opt/admin/ # admin route
  4. root@172.10.10.130:/opt/net/ # net
  5. root@172.10.10.130:/opt/accp/ # accp.bak
复制代码

论坛徽章:
0
发表于 2015-08-05 22:38 |显示全部楼层
回复 2# haooooaaa


    无处不在啊大哥。。。。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2015-08-05 22:45 |显示全部楼层
回复 1# Linux9253

  1. awk '{ if (/^\+/) { printf "\n%s #", $10 } else { printf " %s", $1 } } END { printf "\n" } ' scp.log
复制代码

论坛徽章:
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
发表于 2015-08-05 23:10 |显示全部楼层
回复 1# Linux9253
  1. awk '/^\+/{if(length(s))print s;match($0,/([^@ ]+@[^:]+:[^ ]+) /,a);s=a[1]" #"}!/^+/{s=s" "$1}END{print s}' file
  2. sed -nr '/^\+/{x;/^$/!{s#\n# #gp};x;s#.* ([^@ ]+@[^:]+:[^ ]+) .*#\1 \##;h;b};s#([^ ]+) .*#\1#;H;${x;s#\n# #gp}' file
复制代码

论坛徽章:
0
发表于 2015-08-05 23:19
回复 4# MMMIX


        厉害非常感谢,不过我这边文件有问题,是着样的,文件是bash -x scpirt.sh 生成的,里面有^M等字符,您上面处理的是我cat出来复制的,
如果cat -A  就原型弊漏了,我现在上传一个原件。您能抽出时间帮我看看嘛?谢谢

scp.tar (10 KB, 下载次数: 2)

论坛徽章:
0
发表于 2015-08-05 23:20 |显示全部楼层
回复 5# songyc_2015


      非常感谢,不过我这边文件有问题,是着样的,文件是bash -x scpirt.sh 生成的,里面有^M等字符,您上面处理的是我cat出来复制的,
如果cat -A  就原型弊漏了,我现在上传一个原件。您能抽出时间帮我看看嘛?谢谢

scp.tar (10 KB, 下载次数: 0)

论坛徽章:
0
发表于 2015-08-05 23:21 |显示全部楼层
回复 2# haooooaaa


    大哥又来麻烦您了  ,我这边文件有问题,是着样的,文件是bash -x scpirt.sh 生成的,里面有^M等字符,您上面处理的是我cat出来复制的,
如果cat -A  就原型弊漏了,我现在上传一个原件。您能抽出时间帮我看看嘛?

scp.tar (10 KB, 下载次数: 1)

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2015-08-06 00:04 |显示全部楼层
回复 6# Linux9253


    那就先把 log 处理下:

  1. sed -r 's/\r[^\r]+\r//' scp.log | awk ...
复制代码

论坛徽章:
0
发表于 2015-08-06 00:28 |显示全部楼层
awk '$1=="+"{printf "\n"$10"# ";next}{printf $1" "}' a.txt 回复 1# Linux9253


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP