看板 Linux 關於我們 聯絡資訊
前提: 我在跑完模擬之後會產生一堆log檔,之後利用grep把含有error字串的file和message 抓到同一個檔裏 內容長的像下列的樣子 ../sim1/nc01102011.log:@15345 error: AAAA ../sim1/nc01102011.log:@15354 error: BBBB ../sim2/nc01101654.log:@23487 error: AAAA ../sim3/nc01100812.log:@8927 error: DDDD ../sim3/nc01100812.log:@8990 error: CCCC ../sim3/nc01101923.log:@25687 error: BBBB 有時一個log中會同時有兩到三個error的message出現 不知道有沒有方法把有相同檔名的那行刪掉,只留第一個就好了? 我的想法是 :g/\(nc\d\+\)/;/&/d 先找到file name,再往下找相同的pattern,刪除 但是"&"在第二次search上無法作用 請問有人可以幫忙嗎? (當然我可以寫個script解決這個問題,但是我想試試看能不能只用vi就解決了) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.66.168.16
Adama:用sed似乎比較好 01/10 23:12
ViewMoon::%s/log.*/log/g 01/10 23:35
ViewMoon::%!sort -u 01/10 23:35