背景
網上看到很多關於notepad整行替換的內容,但是都感覺講的不是很清楚 ,今天詳細記錄下。
基礎知識
在說notepad整行替換之前首先要明確各系統之間不同的行尾符:
Windows:\r\n
Linux:\n
Mac:\r
上面提到的\r
(即回車符)英文縮寫爲CR,\n
(即換行符)英文縮寫爲LF。
明確了基礎概念後,我們就可以明白很重要的一點:windows下打開的文件不一定都是以\r\n
結尾的(因爲可能該文件是從Linux上覆制過來的),那麼我們怎麼在notepad中區分該文件的行位符呢?
notepad整行替換
- notepad中有現成功能進行區分,點擊
視圖
->顯示行尾符
,就可以把所有行尾符顯示出來了,很顯然這個文件是從Linux下複製過來的。
- 如果想要把該文檔格式轉爲Windows格式,可以選擇
編輯
->文檔格式轉換
->轉換爲Wdinwos格式
。同理,如果windows文件需要複製到Linux下,要轉爲UNIX格式(Linux中打開文件顯示^M這種情況以及make命令編譯報錯都屬於這種情況)。
另外經過實測,使用這種方法比直接正則批量替換更高效,否則很容易出現notepad卡死崩潰的情況
- 目前該文檔中有很多單字母或數字佔用整行的情況,我想把所有這樣的行替換掉,即該行直接刪除,而且該行的下一行會直接頂掉替換的這行。
使用正則:^\w{1}\n
進行匹配,替換的地方什麼都不用填,即空字符,點擊全部替換即可。
4.如果想對正則匹配到的內容取反,可以使用?!
表達式,比如我想對所有百度及其子域名取反,可以用正則:^(?!.*\.baidu\.com).*$
結論
使用notepad替換內容前,需要先確認文檔的行尾符,再通過正則進行批量替換