忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 14820 | 回复: 12

[文本处理] 如何将 shell 结果合并成一行? [复制链接]

论坛徽章:
0
发表于 2013-12-20 10:46 |显示全部楼层
shell 1:
wwwesktop qshl$ wget -qc http://pachong.org/ -O - | grep -o '\d\+\.\d\+\.\d\+\.\d\+'
120.84.236.250
202.118.236.130
...

shell 2:
wwwesktop qshl$ wget -qc http://pachong.org/ -O - | grep -o '<td>\d\{2,5\}</td>' | grep -o '\d\{2,5\}'
8080
7777
...

请问,如何将结果合并成 120.84.236.250:8080 形式?

或者是否有更好的方法?

论坛徽章:
46
15-16赛季CBA联赛之八一
日期:2016-03-01 15:15:092015年亚洲杯之伊朗
日期:2015-03-08 20:51:012015年迎新春徽章
日期:2015-03-04 09:58:11未羊
日期:2014-10-16 22:41:47处女座
日期:2014-10-16 15:33:33酉鸡
日期:2014-03-13 12:54:10巳蛇
日期:2014-03-10 14:39:05卯兔
日期:2014-03-07 17:15:25天蝎座
日期:2014-03-05 17:53:532015亚冠之塔什干棉农
日期:2015-06-29 09:08:072015亚冠之广州富力
日期:2015-07-07 08:26:172015年亚冠纪念徽章
日期:2015-07-23 11:58:12
发表于 2013-12-20 11:05 |显示全部楼层
没仔细看,根据实际情况再改改吧
  1. paste -d":" <(wget -qc http://pachong.org/ -O -|grep -Po '(\d+\.){3}\d+') <(wget -qc http://pachong.org/ -O -|grep -Po '(?<=td>)\d+')
复制代码

论坛徽章:
46
15-16赛季CBA联赛之八一
日期:2016-03-01 15:15:092015年亚洲杯之伊朗
日期:2015-03-08 20:51:012015年迎新春徽章
日期:2015-03-04 09:58:11未羊
日期:2014-10-16 22:41:47处女座
日期:2014-10-16 15:33:33酉鸡
日期:2014-03-13 12:54:10巳蛇
日期:2014-03-10 14:39:05卯兔
日期:2014-03-07 17:15:25天蝎座
日期:2014-03-05 17:53:532015亚冠之塔什干棉农
日期:2015-06-29 09:08:072015亚冠之广州富力
日期:2015-07-07 08:26:172015年亚冠纪念徽章
日期:2015-07-23 11:58:12
发表于 2013-12-20 11:05 |显示全部楼层
本帖最后由 WilliBhamlll 于 2013-12-20 11:06 编辑

卡了一下,回重复了。

论坛徽章:
0
发表于 2013-12-20 11:14 |显示全部楼层
非常感谢,paste 还是我第一次见。
grep 的 -P 参数 Darwin 内核好像不支持?

要是能一个请求就能分析出结果是最好的,把结果集中的空白字符都去掉,然后用正则匹配出 ip 和 port 规则,再 sed 一下。
就是可能有点复杂。

回复 3# WilliBhamlll


   

论坛徽章:
0
发表于 2013-12-20 11:17 |显示全部楼层
回复 2# WilliBhamlll

操作系统:
Max OS X 10.8.3

内核信息:
wwwesktop qshl$ uname -a
Darwin localhost 12.3.0 Darwin Kernel Version 12.3.0: Sun Jan  6 22:37:10 PST 2013; rootnu-2050.22.13~1/RELEASE_X86_64 x86_64
wwwesktop qshl$ grep -P
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
        [-e pattern] [-f file] [--binary-files=value] [--color=when]
        [--context[=num]] [--directories=action] [--label] [--line-buffered]
        [--null] [pattern] [file ...]


   

论坛徽章:
2
巨蟹座
日期:2013-12-07 16:51:13天秤座
日期:2013-12-11 15:12:14
发表于 2013-12-20 11:24 |显示全部楼层
  1. wget -qc http://pachong.org/ -O - | grep -PA1 '\d{1,3}\.\d{1,3}.\d{1,3}.\d{1,3}'| awk -vRS="[<td></td>\n ]" -vORS="" '{print $0}'|sed 's/\-\-/\n/g'
复制代码

论坛徽章:
4
技术图书徽章
日期:2013-09-23 10:22:37狮子座
日期:2013-10-15 23:31:54卯兔
日期:2013-11-11 17:33:15金牛座
日期:2013-11-15 17:25:28
发表于 2013-12-20 11:30 |显示全部楼层
本帖最后由 nbrr 于 2013-12-20 11:34 编辑

用sed写了个,应该还有更好的方法

  1. wget -qc http://pachong.org/ -O - | sed -n -r -e 's@.*<td>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[0-9]{2,5})<\/td>.*@\1@p' | sed 'N;s@\n@:@'
复制代码

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

wget -qc http://pachong.org/ -O - | sed -n '/^\s\+<td>\(\([0-9]\+\.\)\{3\}[0-9]\+\)<\/td>/{s//\1/;h;n;s/.*<td>\([0-9]\+\)<\/td>/\1/;H;x;s/\n/:/p}'

论坛徽章:
46
15-16赛季CBA联赛之八一
日期:2016-03-01 15:15:092015年亚洲杯之伊朗
日期:2015-03-08 20:51:012015年迎新春徽章
日期:2015-03-04 09:58:11未羊
日期:2014-10-16 22:41:47处女座
日期:2014-10-16 15:33:33酉鸡
日期:2014-03-13 12:54:10巳蛇
日期:2014-03-10 14:39:05卯兔
日期:2014-03-07 17:15:25天蝎座
日期:2014-03-05 17:53:532015亚冠之塔什干棉农
日期:2015-06-29 09:08:072015亚冠之广州富力
日期:2015-07-07 08:26:172015年亚冠纪念徽章
日期:2015-07-23 11:58:12
发表于 2013-12-20 11:34 |显示全部楼层
本帖最后由 WilliBhamlll 于 2013-12-20 11:40 编辑

回复 5# chhj_292
  1. wget -qc http://pachong.org/ -O - | grep -EA1 '([0-9]{1,3}\.){3}[0-9]{1,3}'|awk -vRS="[</td>\n]" 'NF'|sed '/--/d;N;s/\n/:/'
  2. 61.156.217.135:9000
  3. 202.203.17.82:3128
  4. 61.147.82.87:8000
  5. 219.159.199.6:9999
  6. 211.141.125.56:3128
  7. 118.244.195.43:80
  8. 221.192.152.16:80
  9. 120.84.236.250:8080
  10. 60.190.138.151:80
  11. 118.112.54.141:8080
  12. 123.103.23.106:20648
  13. 222.139.5.210:9000
  14. 58.242.249.14:18186
  15. 218.107.4.117:1080
  16. 58.39.24.230:8080
  17. 218.28.121.22:9999
  18. 61.143.124.155:80
  19. 222.87.129.30:80
  20. 60.12.150.221:8080
  21. 203.64.251.80:8080
  22. 219.150.204.30:8080
  23. 202.118.236.130:7777
  24. 124.163.222.76:80
  25. 121.9.231.82:9999
  26. 60.223.255.141:8080
  27. 110.80.37.250:9999
  28. 218.93.112.72:3128
  29. 116.112.66.102:808
  30. 221.10.102.199:83
  31. 111.11.27.36:80
  32. 203.150.19.219:3128
  33. 221.181.192.60:80
  34. 122.96.59.100:81
  35. 219.145.145.7:8888
  36. 61.158.219.226:8118
  37. 219.219.62.238:3080
  38. 41.205.93.18:8080
  39. 186.67.21.142:8080
  40. 217.192.57.231:80
  41. 199.185.61.1:8081
  42. 177.136.224.17:8080
  43. 190.186.159.78:8080
  44. 83.244.111.18:8080
  45. 151.237.37.177:8080
  46. 111.221.2.134:8080
  47. 109.175.6.192:8080
  48. 190.189.124.224:8080
  49. 212.34.236.62:8080
  50. 109.104.144.18:8082
  51. 94.201.134.251:80
复制代码

论坛徽章:
92
2015亚冠之水原三星
日期:2015-05-14 21:47:5115-16赛季CBA联赛之吉林
日期:2016-01-05 18:24:0415-16赛季CBA联赛之佛山
日期:2016-01-06 19:14:2315-16赛季CBA联赛之广东
日期:2016-01-12 00:08:30程序设计版块每日发帖之星
日期:2016-01-12 06:20:0015-16赛季CBA联赛之广东
日期:2016-01-19 22:46:19程序设计版块每日发帖之星
日期:2016-01-25 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:0015-16赛季CBA联赛之福建
日期:2016-02-02 14:51:1615-16赛季CBA联赛之辽宁
日期:2016-02-05 14:41:1715-16赛季CBA联赛之同曦
日期:2015-12-23 15:48:0615-16赛季CBA联赛之广夏
日期:2015-12-21 20:28:29
发表于 2013-12-20 11:37 |显示全部楼层
回复 5# chhj_292

>>grep 的 -P 参数 Darwin 内核好像不支持?

supported
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2016中国系统架构师现状大调查

你心中的系统架构师是什么样子? 你的职业生涯中是否遇到过困惑? 你想得到哪方面的职业规划指引与帮助?本调查围绕时下架构师最关心的技术趋势、架构师的软实力、常用的技术工具,职场调查等,旨在帮助架构师少走弯路,快速成长。
----------------------------------------

调查时间:2016年7月25日-8月25日

PS:认真填写问卷将有机会获得定制款路由器一台~

调查入口>>

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP