如何把如下
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
如何把如下
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
感觉没什么难度,但是想不出来怎么搞
|
|
araralorenOct 26, 2017
2
这个不是很简单么,先吧 master slave 分类,然后根据 y{x} 来输出
|
|
GentleSadnessOct 26, 2017
3
没看出逻辑联系
|
|
4
@araraloren 来来 奉献你的代码
|
|
5
第一次见到求人还趾高气昂的。
另外,连问题都描述不清楚,你还是转行吧。 |
|
7
差不多好了。另 心态不好的麻烦别来回帖
|
|
ToughGuyOct 26, 2017
8
刚开始尝试用 awk 发现挺麻烦,然后用 python 弄出来。。。
到这一看楼主这态度, 我还是不贴出来献丑了。 |
|
10
看不懂把什么打印成什么? 看来是我老了
|
|
11
你连规则都懒得说明一下,那我只能告诉你,把你想要的结果 echo 一下就打印出来了
|
|
KonkiOct 26, 2017
13
这个还是比较有规律的就是第三段,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] |
|
coderluanOct 26, 2017
14
奉献:
释义:“奉”,即“捧”,意思是“给、献给”;“献”,原意为“献祭”,指“把实物或意见等恭敬庄严地送给集体或尊敬的人”。 |
|
jlskOct 26, 2017
15
傻逼
|
|
16
沉了吧,情商低,无意冒犯。
只是,觉得,风气不在 |
|
momocraftOct 26, 2017
17
排斥低水平討論對社區不一是壞事 (當然對你不一定是好事)
|
|
18
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 |
|
ryd994Oct 26, 2017 via Android
20
不合格的运维表示只会用 python 做
|
|
scriptB0yOct 26, 2017
21
|
|
22
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
没感觉楼主语气有什么问题,部分人性格不合不能理解玩笑就不要回复不就好了?非要评论下面酸一下我也是不懂。。。 论坛本来就是为了聚集志同道合的人的,道不同不相为谋转头就走呗
|
|
24
确实是用开玩笑的语气说,只是玩笑的方式有时会造成锋芒毕露成了别人扣帽子的把柄。
@MyPassWordis 谢谢啦。 |