抓取檔案裡數行連續的文字區塊 - Linux

Tristan Cohan avatar
By Tristan Cohan
at 2013-06-17T14:14

Table of Contents

最近在寫一隻可以抓取檔案內容的SHELL

檔案內容大概是{
名字: 李大仁
戶籍: 台北
地址: ~!@#$%^&*
電話: ~!@#$%^&*
興趣: ~!@#$%^&*
備註1:

名字: 程又青
戶籍: 台北
地址: ~!@#$%^&*
電話: ~!@#$%^&*
興趣: ~!@#$%^&*

名字: 李大仁
戶籍: 高雄
地址: ~!@#$%^&*
電話: ~!@#$%^&*
興趣: ~!@#$%^&*
備註1:
備註2:

}

可以看到裡面有3個人的資料
而我希望透過前兩筆(名字與戶籍)
就可以把某人的整塊資料撈出來
人與人之間的資料區塊有一行空白行隔開
任何一個人的資料區塊長度不一定

而我想撈出
名字: 李大仁
戶籍: 高雄
地址: ~!@#$%^&*
電話: ~!@#$%^&*
興趣: ~!@#$%^&*
備註1:
備註2:
這樣一塊
也就是第一行李大任並且第二行是高雄,這樣才是我要的
不想把台北那個李大仁的資料撈出來

我本想說用grep,但grep似乎都是以行為單位
而且行與行之間都是獨立的
更難以介定出往下一塊區塊的資料

雖然最後我是用C語言寫一隻程式來解決這問題了
但很好奇不知道SHELL是否有比較進階的技巧可以解決這問題?
照理說SHELL的效率會比較好 是嗎?

真的非常謝謝各位

--
有種熟悉總在你心裡深處、眼光餘角出現
越是追求越是千里尋不著
日覆一日,漸漸的也就淡忘
實際卻如影隨行、無聲無息的埋藏在潛意識裡‧‧‧
也許夜深人靜時又會不經意的輕敲你心房

--
Tags: Linux

All Comments

Ursula avatar
By Ursula
at 2013-06-19T16:36
awk?
Victoria avatar
By Victoria
at 2013-06-22T07:28
grep -A?

HackingThursday 固定聚會 (2013-06-20)

Kelly avatar
By Kelly
at 2013-06-17T12:02
通告網址: [http://www.hackingthursday.org/][1] * * * * 時間: 每週四晚上 19:30 至 22:00 ( 熱食供應至 20:00 ) * 地點: 伯朗咖啡 ( 建國店 ) * 地址: 台北市大安區建國南路一段 166 號 2 樓 * 鄰 ...

想組linux kernel讀書會

Zanna avatar
By Zanna
at 2013-06-16T18:50
各位好 小弟最近想組一個linux的讀書會 不過,不是要研討linux指令或架站相關的東西 而是研究kernel的原理 例如process management, scheduling, memory management, interrupt, etc. 希望是以3~8人面對面討論為主 地點在台北地區 不 ...

iptables 無法支援 dns反解 centos6.4 ?

Zora avatar
By Zora
at 2013-06-15T21:26
linux新手,不確定這樣解釋大大是否看的懂 第一台主機 小弟在iptables 輸入 (先把規則寫在shell script, 在執行寫入iptables) 其中有一條是 iptables -A FORWARD -p -tcp -d www.facebook.com -j DROP 執行後就會顯示 h ...

在VMWARE裡面架mail server?(一直失敗)

Mary avatar
By Mary
at 2013-06-15T10:23
各位前輩好~ 我擅長的是關於底層driver部分 網路方面並沒有什麼概念 最近因為對架mail server有興趣 想說來練習看看 在VMWARE裡面灌了ubuntu 12.04 64-bit server版 找了很多文章來架都失敗(都是推薦用postfix) 最後找了這篇看起來比較完整的教學 ...

如何隱藏process的參數

Liam avatar
By Liam
at 2013-06-14T00:30
推 dou0228:int main(int argc, char*argv[]) 可以parse完去改值 06/13 12:53 很好奇這是什麼意思atat 今天試了一下 意思是要改miner這個檔案的source? 還是說我用來執行他的另一個程式 我兩個都試過了 ps -aux還是會出 ...