第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

請(qǐng)問(wèn)使用vi的替換命令或shell能完成此需求嗎,給點(diǎn)提示也行,謝謝?。?!

請(qǐng)問(wèn)使用vi的替換命令或shell能完成此需求嗎,給點(diǎn)提示也行,謝謝?。?!

臨摹微笑 2023-05-02 19:15:54
需求如下: 輸入文件input.txt:a1a2a3a4b1b2a5b3b4b5 要求輸出文件output.txt為:a1a4b1b2a5b3b5 即去掉第N行,N滿足的條件是:第N行與第N-1、第N+1行的首字母都相同(不去掉首行與末行)。
查看完整描述

1 回答

?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

vim的正則

%s/\v((.).*\n)((\2.*\n)+)(\2.*$)/\1\5/g

分成三段解釋一下

((.).*\n)
匹配第一行,外層分組用于替換的時(shí)候反向引用,內(nèi)層分組用于后面判斷 

((\2.*\n)+) 
匹配接下來(lái) 以上一行第一個(gè)字母開(kāi)頭的行(1行或多行)

(\2.*$)  
匹配一行以第一行第一個(gè)字母開(kāi)頭的行

最后 \1\5 把上面匹配到的所有的行 替換成第一行和最后一行,即刪除中間的行

注:最開(kāi)始的\v是切換到perl正則模式,這樣括號(hào)、加號(hào)就不需要轉(zhuǎn)義了

BTW 這種文本處理的工作用perl腳本完成是最方便的,vi的好處是可視化調(diào)試,但是遇到大文件就GG了


查看完整回答
反對(duì) 回復(fù) 2023-05-05
  • 1 回答
  • 0 關(guān)注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)