【发布时间】:2021-05-02 00:03:33
【问题描述】:
提取成单个字符串
Number 1:
Number 2: 55-60(a)
Number 3: 43/32455, 225(c), 26/10533-10541
Number 4: 234(b)
Number 5:
Number 6: 643/54231
Number 7: 10(a), 162(b)
Number 8: 742/12345,12346
(c=cross,b=bold,a=alpha)
数值(数字)为“数字 4”的数字将是 234c4 等:
Number 4: 234(b)
"4" or any digit with Number [0-9], will be concatenated with c = c + 4
234 is the value for the Number 4, then 234 + c4 = 234c4 (flagged as b = bold)
Number 6: 643/54231
value without any flag will be sorted into the cross column along with cross tag (c)
Sorted :
cross
43c3@SP32455;225c3;643c6@SP54231
打印范围
Number 2: 55-60(a)
Sorted :
alpha
55c2;56c2;57c2;58c2;59c2;60c2
Number 3: 26/10533-10541
cross
26c3@SP10533;26c3@SP10534;26c3@SP10535;26c3@SP10536;26c3@SP10537;26c3@SP10538;26c3@SP10539;26c3@SP10540;26c3@SP10541
一旦列出了所有标记的输出(alpha、bold、cross/a、b、c)。 等:
a / alpha =
55c2;56c2;57c2;58c2;59c2;60c2;10c7
b / bold =
234c4;162c7
c / cross =
43c3@SP32455;225c3;26c3@SP10533;26c3@SP10534;26c3@SP10535;26c3@SP10536;26c3@SP10537;26c3@SP10538;26c3@SP10539;26c3@SP10540;26c3@SP10541;643c6@SP54231;742c8@SP12345;742c8@SP12346
它将按照预期输出(逗号分隔)组合成一行,如下
a,b,c
55c2;56c2;57c2;58c2;59c2;60c2;10c7,234c4;162c7,43c3@SP32455;225c3;26c3@SP10533;26c3@SP10534;26c3@SP10535;26c3@SP10536;26c3@SP10537;26c3@SP10538;26c3@SP10539;26c3@SP10540;26c3@SP10541;643c6@SP54231;742c8@SP12345;742c8@SP12346
用于交叉检查的细分:
alpha
55c2;56c2;57c2;58c2;59c2;60c2;10c7
bold
234c4;162c7
cross
43c3@SP32455;225c3;26c3@SP10533;26c3@SP10534;26c3@SP10535;26c3@SP10536;26c3@SP10537;26c3@SP10538;26c3@SP10539;26c3@SP10540;26c3@SP10541;643c6@SP54231;742c8@SP12345;742c8@SP12346
现在我使用一行脚本来打印范围。
for a in {10533..10541}; do echo $a | awk '{printf "26c3@SP%s;",$0}'; done
【问题讨论】:
-
欢迎来到 Stack Overflow。 SO is a question and answer page for professional and enthusiast programmers。请在您的问题中添加您自己的代码。您应该至少展示自己为解决这个问题所做的研究。
-
感谢提醒,我会尽快添加自己的脚本
-
@user10254032,感谢您在问题中的努力,但您的示例输入和预期示例输出不清楚,请在您的问题中添加更清晰的解释以获得预期输出,谢谢。跨度>
-
感谢您调查此问题,我已编辑以下问题
-
@user10254032,请您详细说明
234c4是如何生成的,请按逻辑进行,谢谢。