問題復現
拿到的文件中包含了大量的
、
、
等字元,形如:
<title>歷史賬單</title>
<script type="text/javascript" src="/pages/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="/cms/up3/js/jquery.flashSlider-1.0.min.js"></script>
<script type="text/javascript" src="/cms/up3/js/common.js">
看起來亂糟糟的,很不直觀。
問題分析
簡單的說是由於Windows與Linux對換行
的表示不一樣導致的。詳細的可以參考這篇文章linux下與windows下的換行符。這裡不做過多的探究。我們只需要把這些字元替換成Linux
中對應的表示即可。在Ubuntu
中我們使用
來表示
換行
(關於換行與回車可以參考回車與換行的區別),這裡我們還要注意一點就是即使你在Windows
環境下,對於Vim
來說都是都是有固定的表示的。可以參考這個Why is r a newline for Vim?,這裡我們只要知道:我們把
換成
就可以了。
問題解決
上面的問題多處於Linux
機器上,我們使用Vim
來進行處理。步驟如下:
- 把有如上問題的文件丟進
Vim
編輯器 - 在
Vim
中使用如下命令來處理
(記得轉義),替換成
的換行
:1,$s/\r\n/
/g
- 同樣的方式處理
:1,$s/\t/ /g
方法詳解
上面的解決方法是利用Vim的替換功能將字元替換成對應的正確的表示。其中:
1,$s/
表示從第一行到最後一行開始匹配,匹配的內容是後面的正則。
/\r\n/
/g
這裡是一個正則以及要替換的內容。遵循這樣的格式:/要正則匹配的部分/要替換成的部分/g