2016-04-21 23 views
1

今天早上一直在通過各種solns進行搜索。沒有找到足夠的東西讓我咀嚼。 (我是一個系統館員但不是腳本的一個深刻的開發者,但我熟悉的awk/SED /等)使用標題值(文件中的多標題)將列添加到文本文件

我的選擇是猛砸甚至Perl

我的數據是這樣的:(數據是假的)

 
==================================================================================== 
Person Name: Joe Soap 
Code: 0 
==================================================================================== 
Purchases:12th June 2013 - Awk for Dummies Vol1 
Purchases:42th June 2013 - Awk for Dummies Vol2 
Purchases:22th June 2013 - Awk for Dummies Vol3 
==================================================================================== 

==================================================================================== 
Person Name: Mary Soap 
Code: 0 
==================================================================================== 
Purchases:52th June 2013 - Sed for Microsoft Lovers Vol1 
Purchases:82th June 2013 - Sed for Microsoft Lovers Vol2 
==================================================================================== 

==================================================================================== 
Person Name: Don Soap 
Code: 0 
==================================================================================== 
Purchases:3rd March 2013 - Self Healing 

我需要得到:

 
Joe Soap:Purchases:12th June 2013 - Awk for Dummies Vol1 
Joe Soap:Purchases:42th June 2013 - Awk for Dummies Vol2 
Joe Soap:Purchases:22th June 2013 - Awk for Dummies Vol3 
Mary Soap:Purchases:52th June 2013 - Sed for Microsoft Lovers Vol1 
Mary Soap:Purchases:82th June 2013 - Sed for Microsoft Lovers Vol2 
Don Soap:Purchases:3rd March 2013 - Self Healing 

我會想象它的直線前進..但希望指針:)p

謝謝大家!

回答

2

使用awk的,你可以這樣做:

awk -F ': *' -v OFS=: '$1~/Person Name/{p=$2} $1~/Purchases/{print p, $0}' file 

Joe Soap:Purchases:12th June 2013 - Awk for Dummies Vol1 
Joe Soap:Purchases:42th June 2013 - Awk for Dummies Vol2 
Joe Soap:Purchases:22th June 2013 - Awk for Dummies Vol3 
Mary Soap:Purchases:52th June 2013 - Sed for Microsoft Lovers Vol1 
Mary Soap:Purchases:82th June 2013 - Sed for Microsoft Lovers Vol2 
Don Soap:Purchases:3rd March 2013 - Self Healing 
+2

它從來沒有停止給我帶來驚喜,在喜歡你的人的慷慨。謝謝你,這很完美!總會有美好的一天,健康和幸福! – Gripsiden