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

ChinaUnix.net

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

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

帖子
7
主题
2
精华
0
可用积分
12
专家积分
0
在线时间
14 小时
注册时间
2010-04-26
最后登录
2014-05-07
论坛徽章:
0
发表于 2013-12-20 10:46:22 |显示全部楼层
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 形式?

或者是否有更好的方法?

帖子
576
主题
0
精华
0
可用积分
228
专家积分
0
在线时间
3337 小时
注册时间
2013-06-14
最后登录
2014-10-31
认证徽章
论坛徽章:
32
戌狗
日期:2013-08-27 14:18:32金牛座
日期:2013-12-13 17:17:20金牛座
日期:2013-12-18 16:55:29天蝎座
日期:2013-12-19 14:49:51金牛座
日期:2013-12-24 16:37:29狮子座
日期:2014-01-13 12:40:58未羊
日期:2014-01-24 14:58:29摩羯座
日期:2014-02-18 12:37:32射手座
日期:2014-02-21 10:09:47天蝎座
日期:2014-03-05 17:53:53卯兔
日期:2014-03-07 17:15:25巳蛇
日期:2014-03-10 14:39:05酉鸡
日期:2014-03-13 12:54:102014世界杯徽章
日期:2014-06-19 11:09:51处女座
日期:2014-10-16 15:33:33
发表于 2013-12-20 11:05: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+')
复制代码

帖子
576
主题
0
精华
0
可用积分
228
专家积分
0
在线时间
3337 小时
注册时间
2013-06-14
最后登录
2014-10-31
认证徽章
论坛徽章:
32
戌狗
日期:2013-08-27 14:18:32金牛座
日期:2013-12-13 17:17:20金牛座
日期:2013-12-18 16:55:29天蝎座
日期:2013-12-19 14:49:51金牛座
日期:2013-12-24 16:37:29狮子座
日期:2014-01-13 12:40:58未羊
日期:2014-01-24 14:58:29摩羯座
日期:2014-02-18 12:37:32射手座
日期:2014-02-21 10:09:47天蝎座
日期:2014-03-05 17:53:53卯兔
日期:2014-03-07 17:15:25巳蛇
日期:2014-03-10 14:39:05酉鸡
日期:2014-03-13 12:54:102014世界杯徽章
日期:2014-06-19 11:09:51处女座
日期:2014-10-16 15:33:33
发表于 2013-12-20 11:05:17 |显示全部楼层
本帖最后由 WilliBhamlll 于 2013-12-20 11:06 编辑

卡了一下,回重复了。

帖子
7
主题
2
精华
0
可用积分
12
专家积分
0
在线时间
14 小时
注册时间
2010-04-26
最后登录
2014-05-07
论坛徽章:
0
发表于 2013-12-20 11:14:21 |显示全部楼层
非常感谢,paste 还是我第一次见。
grep 的 -P 参数 Darwin 内核好像不支持?

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

回复 3# WilliBhamlll


   

帖子
7
主题
2
精华
0
可用积分
12
专家积分
0
在线时间
14 小时
注册时间
2010-04-26
最后登录
2014-05-07
论坛徽章:
0
发表于 2013-12-20 11:17:01 |显示全部楼层
回复 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 ...]


   

Rank: 1

帖子
150
主题
48
精华
0
可用积分
814
专家积分
0
在线时间
366 小时
注册时间
2010-03-06
最后登录
2014-09-30
论坛徽章:
2
巨蟹座
日期:2013-12-07 16:51:13天秤座
日期:2013-12-11 15:12:14
发表于 2013-12-20 11:24:40 |显示全部楼层
  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'
复制代码

Rank: 3Rank: 3

帖子
803
主题
6
精华
0
可用积分
2131
专家积分
5
在线时间
806 小时
注册时间
2006-06-11
最后登录
2014-10-02
论坛徽章:
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:21 |显示全部楼层
本帖最后由 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@:@'
复制代码
SS

Rank: 8Rank: 8

帖子
4242
主题
41
精华
5
可用积分
27785
专家积分
30
在线时间
10549 小时
注册时间
2008-06-26
最后登录
2014-10-31
论坛徽章:
1
射手座
日期:2014-10-10 15:59:47
发表于 2013-12-20 11:31:58 |显示全部楼层
回复 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}'
思考是一种习惯
[img][/img]

帖子
576
主题
0
精华
0
可用积分
228
专家积分
0
在线时间
3337 小时
注册时间
2013-06-14
最后登录
2014-10-31
认证徽章
论坛徽章:
32
戌狗
日期:2013-08-27 14:18:32金牛座
日期:2013-12-13 17:17:20金牛座
日期:2013-12-18 16:55:29天蝎座
日期:2013-12-19 14:49:51金牛座
日期:2013-12-24 16:37:29狮子座
日期:2014-01-13 12:40:58未羊
日期:2014-01-24 14:58:29摩羯座
日期:2014-02-18 12:37:32射手座
日期:2014-02-21 10:09:47天蝎座
日期:2014-03-05 17:53:53卯兔
日期:2014-03-07 17:15:25巳蛇
日期:2014-03-10 14:39:05酉鸡
日期:2014-03-13 12:54:102014世界杯徽章
日期:2014-06-19 11:09:51处女座
日期:2014-10-16 15:33:33
发表于 2013-12-20 11:34:14 |显示全部楼层
本帖最后由 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
复制代码

Rank: 8Rank: 8

帖子
3706
主题
1
精华
0
可用积分
21893
专家积分
5
在线时间
8030 小时
注册时间
2010-10-19
最后登录
2014-10-31
论坛徽章:
30
技术图书徽章
日期:2013-10-01 15:32:13技术图书徽章
日期:2014-03-31 10:27:53未羊
日期:2014-04-07 09:18:18卯兔
日期:2014-04-10 15:16:55卯兔
日期:2014-04-16 16:39:20酉鸡
日期:2014-04-23 15:13:02未羊
日期:2014-05-28 17:29:062014世界杯徽章
日期:2014-06-18 14:39:51水瓶座
日期:2014-09-12 15:33:12双鱼座
日期:2014-09-09 14:44:182014世界杯徽章
日期:2014-06-19 14:59:18双子座
日期:2014-09-01 11:16:19处女座
日期:2014-09-24 09:17:01戌狗
日期:2014-08-04 15:30:06巳蛇
日期:2014-03-25 12:01:33
发表于 2013-12-20 11:37:07 |显示全部楼层
回复 5# chhj_292

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

supported
usage: grep [-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
   
程序是
依照写出来(的code),跑出结果
不是依照你想出来的,得到结果

问题本不难,你又不举例,
描述又乱写,让人费疑猜?

[ i ] it's not good in CU
i => n => num, cnt => number, count
for(i =1;i <=X; i++) a[ i  ]=...
for(n=1;n<=X;n++) a[ n ]=

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

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP