免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(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 形式?

或者是否有更好的方法?

论坛徽章:
50
15-16赛季CBA联赛之广夏
日期:2018-11-05 09:42:462015年亚冠纪念徽章
日期:2015-07-23 11:58:122015亚冠之广州富力
日期:2015-07-07 08:26:172015亚冠之塔什干棉农
日期:2015-06-29 09:08:072015年亚洲杯之伊朗
日期: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:052015亚冠之德黑兰石油
日期:2015-07-29 12:46:372015亚冠之德黑兰石油
日期:2015-08-07 12:54:11
2 [报告]
发表于 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+')
复制代码

论坛徽章:
50
15-16赛季CBA联赛之广夏
日期:2018-11-05 09:42:462015年亚冠纪念徽章
日期:2015-07-23 11:58:122015亚冠之广州富力
日期:2015-07-07 08:26:172015亚冠之塔什干棉农
日期:2015-06-29 09:08:072015年亚洲杯之伊朗
日期: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:052015亚冠之德黑兰石油
日期:2015-07-29 12:46:372015亚冠之德黑兰石油
日期:2015-08-07 12:54:11
3 [报告]
发表于 2013-12-20 11:05 |只看该作者
本帖最后由 WilliBhamlll 于 2013-12-20 11:06 编辑

卡了一下,回重复了。

论坛徽章:
0
4 [报告]
发表于 2013-12-20 11:14 |只看该作者
非常感谢,paste 还是我第一次见。
grep 的 -P 参数 Darwin 内核好像不支持?

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

回复 3# WilliBhamlll


   

论坛徽章:
0
5 [报告]
发表于 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
6 [报告]
发表于 2013-12-20 11:24 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
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
7 [报告]
发表于 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
8 [报告]
发表于 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}'

论坛徽章:
50
15-16赛季CBA联赛之广夏
日期:2018-11-05 09:42:462015年亚冠纪念徽章
日期:2015-07-23 11:58:122015亚冠之广州富力
日期:2015-07-07 08:26:172015亚冠之塔什干棉农
日期:2015-06-29 09:08:072015年亚洲杯之伊朗
日期: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:052015亚冠之德黑兰石油
日期:2015-07-29 12:46:372015亚冠之德黑兰石油
日期:2015-08-07 12:54:11
9 [报告]
发表于 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
复制代码

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [报告]
发表于 2013-12-20 11:37 |只看该作者
回复 5# chhj_292

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

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP