-1

我有以下格式的数据:

Key1:Value1 Key2:Value2 Key3:Value3  
A  
B   
C   
D  
Key1:Value4 Key2:Value5 Key3:Value6  
A1  
B1  
C1   
Key1.. 

等等。键的数量总是三个,并且顺序相同。原始数据集中的值 A、B、C、D 之间没有多余的线。

我想以格式输出

Value3, A B C D   
Value6, A1 B1 C1   
.  
.  
.  

关于脚本的任何想法我都可以用来完成这项工作

4

1 回答 1

1

正则表达式可以为您提供帮助,但取决于通常的值类型,您可以将其编写为与 Key3 匹配:[Pattern to match value] 并绘制它,然后可以手动抓取下一个 Key1 之前的所有连续行for 循环并停止,直到您到达新的关键行并为每个部分重复。

伪代码:

current_key = ""
while !EOF:
    line = next_line()
    if line has regular expression for "Key3: Value":
        process for Value
        current_key = Value
    else 
        process line as a regular ABCD value and print or whatever

没有太多的错误检查,但希望这有助于你继续前进。

于 2012-06-08T19:46:07.960 回答