[問題] 抓取檔案裡數行連續的文字區塊

看板Linux作者 (如果大海能夠)時間12年前 (2013/06/17 14:14), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/2 (看更多)
最近在寫一隻可以抓取檔案內容的SHELL 檔案內容大概是{ 名字: 李大仁 戶籍: 台北 地址: ~!@#$%^&* 電話: ~!@#$%^&* 興趣: ~!@#$%^&* 備註1: 名字: 程又青 戶籍: 台北 地址: ~!@#$%^&* 電話: ~!@#$%^&* 興趣: ~!@#$%^&* 名字: 李大仁 戶籍: 高雄 地址: ~!@#$%^&* 電話: ~!@#$%^&* 興趣: ~!@#$%^&* 備註1: 備註2: } 可以看到裡面有3個人的資料 而我希望透過前兩筆(名字與戶籍) 就可以把某人的整塊資料撈出來 人與人之間的資料區塊有一行空白行隔開 任何一個人的資料區塊長度不一定 而我想撈出 名字: 李大仁 戶籍: 高雄 地址: ~!@#$%^&* 電話: ~!@#$%^&* 興趣: ~!@#$%^&* 備註1: 備註2: 這樣一塊 也就是第一行李大任並且第二行是高雄,這樣才是我要的 不想把台北那個李大仁的資料撈出來 我本想說用grep,但grep似乎都是以行為單位 而且行與行之間都是獨立的 更難以介定出往下一塊區塊的資料 雖然最後我是用C語言寫一隻程式來解決這問題了 但很好奇不知道SHELL是否有比較進階的技巧可以解決這問題? 照理說SHELL的效率會比較好 是嗎? 真的非常謝謝各位 -- 有種熟悉總在你心裡深處、眼光餘角出現 越是追求越是千里尋不著 日覆一日,漸漸的也就淡忘 實際卻如影隨行、無聲無息的埋藏在潛意識裡‧‧‧ 也許夜深人靜時又會不經意的輕敲你心房 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.254.51

06/17 14:20, , 1F
awk?
06/17 14:20, 1F

06/18 01:24, , 2F
grep -A?
06/18 01:24, 2F
文章代碼(AID): #1HlgbXlJ (Linux)
文章代碼(AID): #1HlgbXlJ (Linux)