請花幾秒鐘。我想刪除第六個<ul>
發生的行。 我谷歌做的方式,我試過在SED中刪除具有第一個發生模式的行?
sed -i '/^<ul>$/ d/6' file
。
但是,它變成一個
sed: -e expression #1, char 9: extra characters after
錯誤。
請花幾秒鐘。我想刪除第六個<ul>
發生的行。 我谷歌做的方式,我試過在SED中刪除具有第一個發生模式的行?
sed -i '/^<ul>$/ d/6' file
。
但是,它變成一個
sed: -e expression #1, char 9: extra characters after
錯誤。
AFAIK您無法輕鬆完成sed
。你可以這樣做加盟的所有行到一個字符串,然後刪除第六齣現時再分割字符串,但它更容易與awk
:
awk '/<ul>/ {ul++} ul == 6 { getline } 1' INPUTFILE > TMPFILE && mv TMPFILE INPUTFILE
測試結果在這裏:https://ideone.com/3YpVu
注 :它丟棄了第6行<ul>
的整行,並且假定每行只能找到一個<ul>
。
HTH
perl -p -i -e "s/^<perl-regex-here>$\n//g" <filename>
應該刪除任何與您在任何現代unix系統上給出的perl正則表達式匹配的行。否則,如果你正在統計出現次數並殺死第6次出現的行,我知道沒有任何命令會在一行中完成。
除了AWK可以做,在一行... –
awk '/<ul>/ && ++count == 6 {next} {print}' filename
可以在添加的東西,使其不顯示結果(HTML代碼)? 謝謝 –
對不起,你能更具體嗎?你在期待什麼? –
對不起,讓你感到困惑。結果是正確的 但是,我希望shell不顯示文本文件後,我修改它 –