前提:
我在跑完模擬之後會產生一堆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就解決了)
--
我在跑完模擬之後會產生一堆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就解決了)
--
All Comments