如何把如下
master g y9_5 5
slave g y9_6 6
master g y5_1 1
slave g y5_2 2
slave g y5_3 3
打印成
1 master G y9_5 6
1 slave G y9_6
2 master G y5_1 2,3
2 slave G y5_2
2 slave G y5_3
1
artandlol OP 感觉没什么难度,但是想不出来怎么搞
|
2
araraloren 2017-10-26 17:14:18 +08:00
这个不是很简单么,先吧 master slave 分类,然后根据 y{x} 来输出
|
3
GentleSadness 2017-10-26 17:21:53 +08:00
没看出逻辑联系
|
4
artandlol OP @araraloren 来来 奉献你的代码
|
5
jason2017 2017-10-26 17:37:38 +08:00 8
第一次见到求人还趾高气昂的。
另外,连问题都描述不清楚,你还是转行吧。 |
7
artandlol OP 差不多好了。另 心态不好的麻烦别来回帖
|
8
ToughGuy 2017-10-26 17:49:22 +08:00
刚开始尝试用 awk 发现挺麻烦,然后用 python 弄出来。。。
到这一看楼主这态度, 我还是不贴出来献丑了。 |
10
artandlol OP 看不懂把什么打印成什么? 看来是我老了
|
11
lululau 2017-10-26 18:10:10 +08:00 2
你连规则都懒得说明一下,那我只能告诉你,把你想要的结果 echo 一下就打印出来了
|
13
Konki 2017-10-26 18:42:16 +08:00
这个还是比较有规律的就是第三段,yA_b,c,d 是排序的,如果数量多,混杂,那就麻烦一点了
这可以按行读取成 list,['master','g',y9',[5]] 对于 list[1]进行 upper,list[2]按'-'分割保留前部分,后部分放到 list[3],也是一个 list list[2]进行判断,与 i-1 即上一位的 list[2]判定相同即把 list[3]塞到 i-1 的 list[3] |
14
coderluan 2017-10-26 18:47:47 +08:00
奉献:
释义:“奉”,即“捧”,意思是“给、献给”;“献”,原意为“献祭”,指“把实物或意见等恭敬庄严地送给集体或尊敬的人”。 |
15
jlsk 2017-10-26 18:56:17 +08:00
傻逼
|
16
artandlol OP 沉了吧,情商低,无意冒犯。
只是,觉得,风气不在 |
17
momocraft 2017-10-26 20:03:14 +08:00
排斥低水平討論對社區不一是壞事 (當然對你不一定是好事)
|
18
araraloren 2017-10-26 20:20:54 +08:00 1
my @all = [.words for q:to/EOF/.lines];
master g y9_5 5 slave g y9_6 6 master g y5_1 1 slave g y5_2 2 slave g y5_3 3 EOF my %all = @all.classify({ .[0] }); for @(%all<master>) { my $y = (.[2] ~~ /^y(\d+)/).[0].Str; my @slave = %all<slave>.grep({ .[2] ~~ /^y"$y"/ }); print [ .[0], .[1].uc, | .[2..*-2] ].join(" "), " "; say @(@slave>>.[3]).join(" "); say .[0..*-2].join(" ") for @slave; } run: https://ideone.com/CpzgdT |
19
artandlol OP @momocraft 也不知道这也能刺疼别人,毕竟都是陌生人。当然也希望大家都有一颗强大的内心。
谢谢,沉了吧 |
20
ryd994 2017-10-26 21:10:17 +08:00 via Android
不合格的运维表示只会用 python 做
|
21
scriptB0y 2017-10-26 22:24:48 +08:00
|
22
yiyiwa 2017-10-27 12:51:05 +08:00 1
awk 'NR==FNR{if(/^m/)i++;else a[i]=a[i]?a[i]","$NF:$NF;next}/^m/{j++}{NF--;print j,$0,(/^m/?a[j]:n)}' a a
1 master g y9_5 6 1 slave g y9_6 2 master g y5_1 2,3 2 slave g y5_2 2 slave g y5_3 |
23
MyPassWordis 2017-10-27 15:25:58 +08:00 1
没感觉楼主语气有什么问题,部分人性格不合不能理解玩笑就不要回复不就好了?非要评论下面酸一下我也是不懂。。。 论坛本来就是为了聚集志同道合的人的,道不同不相为谋转头就走呗
|
24
artandlol OP 确实是用开玩笑的语气说,只是玩笑的方式有时会造成锋芒毕露成了别人扣帽子的把柄。
@MyPassWordis 谢谢啦。 |