2011-07-20 61 views

回答

2

AFAIK您無法輕鬆完成sed。你可以這樣做加盟的所有行到一個字符串,然後刪除第六齣現時再分割字符串,但它更容易與awk

awk '/<ul>/ {ul++} ul == 6 { getline } 1' INPUTFILE > TMPFILE && mv TMPFILE INPUTFILE 

測試結果在這裏:https://ideone.com/3YpVu

:它丟棄了第6行<ul>的整行,並且假定每行只能找到一個<ul>

HTH

+0

可以在添加的東西,使其不顯示結果(HTML代碼)? 謝謝 –

+0

對不起,你能更具體嗎?你在期待什麼? –

+0

對不起,讓你感到困惑。結果是正確的 但是,我希望shell不顯示文本文件後,我修改它 –

0

perl -p -i -e "s/^<perl-regex-here>$\n//g" <filename>應該刪除任何與您在任何現代unix系統上給出的perl正則表達式匹配的行。否則,如果你正在統計出現次數並殺死第6次出現的行,我知道沒有任何命令會在一行中完成。

+0

除了AWK可以做,在一行... –

1
awk '/<ul>/ && ++count == 6 {next} {print}' filename 
相關問題