2016-12-28 30 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