2016-12-28 73 views
-1

我有具有个人记录的文件转储:解析并连接短语

.....Detail....account=xxxxx,......state=yyyyy,.... 
.....Detail....account=aaaaa,......state=bbbbb,.... 

会是一个什么方式来提取2个短语用awk,sed的或者grep的连接在一起?
单通道命令行可能吗?

预期输出(分隔符无所谓):

xxxxx-yyyyy 
aaaaa-bbbbb 
+0

你是什么预期产出? – Inian

+0

* 2个短语连接在一起* - 哪些短语,显示如何看看预期的结果 – RomanPerekhrest

回答

1

关于输入数据的细节是有点模糊,但下面的sed过滤器可能会收到预期的效果,并能最有可能进行调整,以使否则做:

s/.*account=\([^,]*\).*state=\([^,]*\),.*/\1-\2/ 
+0

您发布之前已阅读现有答案吗?... – SLePort

+0

我的原始发布是与另一个同时发布的。自那时起我编辑它使其更加完整。该系统似乎只是使最近的编辑明显的时间.... – peak

+0

我的答案有一个强烈的警告。 – peak

0

@IUnknown:我认为......(点)在INPUT_FILE是数据,你可以请尝试以下,让我知道如果这有帮助。

awk '{for(i=1;i<=NF;i++){if($i ~ /=/){split($i, A,"=");Q=Q?Q"-"A[2]:A[2]}};print Q;Q=""}' Input_file 

它认为你需要只有那些具有它们=值,并且希望他们的第二个价值,让我知道如果这可以帮助你。

2
awk -F'[=,]' '{print $2"-"$4}' file 

xxxxx-yyyyy 
aaaaa-bbbbb