遇到个小问题

2017-10-26 16:19:19 +08:00
 artandlol

如何把如下

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 
2935 次点击
所在节点    Linux
24 条回复
artandlol
2017-10-26 16:54:00 +08:00
感觉没什么难度,但是想不出来怎么搞
araraloren
2017-10-26 17:14:18 +08:00
这个不是很简单么,先吧 master slave 分类,然后根据 y{x} 来输出
GentleSadness
2017-10-26 17:21:53 +08:00
没看出逻辑联系
artandlol
2017-10-26 17:31:53 +08:00
@araraloren 来来 奉献你的代码
jason2017
2017-10-26 17:37:38 +08:00
第一次见到求人还趾高气昂的。
另外,连问题都描述不清楚,你还是转行吧。
artandlol
2017-10-26 17:45:10 +08:00
@jason2017 88 隐藏
artandlol
2017-10-26 17:47:05 +08:00
差不多好了。另 心态不好的麻烦别来回帖
ToughGuy
2017-10-26 17:49:22 +08:00
刚开始尝试用 awk 发现挺麻烦,然后用 python 弄出来。。。

到这一看楼主这态度, 我还是不贴出来献丑了。
artandlol
2017-10-26 17:59:52 +08:00
@ToughGuy 也是用 py 弄的,搞定
另 这么容易被带节奏?
artandlol
2017-10-26 18:02:21 +08:00
看不懂把什么打印成什么? 看来是我老了
lululau
2017-10-26 18:10:10 +08:00
你连规则都懒得说明一下,那我只能告诉你,把你想要的结果 echo 一下就打印出来了
artandlol
2017-10-26 18:31:51 +08:00
@lululau 谢谢
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]
coderluan
2017-10-26 18:47:47 +08:00
奉献:
释义:“奉”,即“捧”,意思是“给、献给”;“献”,原意为“献祭”,指“把实物或意见等恭敬庄严地送给集体或尊敬的人”。
jlsk
2017-10-26 18:56:17 +08:00
傻逼
artandlol
2017-10-26 19:25:37 +08:00
沉了吧,情商低,无意冒犯。
只是,觉得,风气不在
momocraft
2017-10-26 20:03:14 +08:00
排斥低水平討論對社區不一是壞事 (當然對你不一定是好事)
araraloren
2017-10-26 20:20:54 +08:00
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
artandlol
2017-10-26 20:36:37 +08:00
@momocraft 也不知道这也能刺疼别人,毕竟都是陌生人。当然也希望大家都有一颗强大的内心。
谢谢,沉了吧
ryd994
2017-10-26 21:10:17 +08:00
不合格的运维表示只会用 python 做

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/400982

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX