1.背景知識 CRLF用來表示文本換行的方式 ,CR是回車的意思,對應 \r ;LF 是換行的意思,對應 \n Windows 換行符是 \r\n Unix 換行是 \n 如果一個將要在Linux伺服器上使用的文件,比如某個配置文件,在windows電腦打開,編輯過,那麼文件每一行末尾會多有\r 。 ...
1.背景知識
CRLF用來表示文本換行的方式 ,CR是回車的意思,對應 \r
;LF 是換行的意思,對應 \n
-
Windows 換行符是
\r\n
-
Unix 換行是
\n
如果一個將要在Linux伺服器上使用的文件,比如某個配置文件,在windows電腦打開,編輯過,那麼文件每一行末尾會多有\r
。直接在Linux中使用可能會報錯。
2.檢驗方法
用 sed -n l
查看會發現文件末尾是否多了有 ^M
。
3.解決方法
3.1 ubuntu安裝 tofrodos
tofrodos可以對兩種格式的文件的換行符進行互轉
sudo apt-get install tofrodos
todos file1 # unix2dos
fromdos file2 # dos2unix
# 或者
sed 's/^M//' file
3.2 linxu安裝dos2unix
yum install dos2unix -y
doc2unix file
3.3 vim設置編碼格式/全局替換
直接vim打開,使用 :set ff
或者替換\r 為空 利用vim將 ^M 替換 此處 ^M 使用 Ctril + V + M 來輸入
:%s/^M//g # 不行就用 :%s/\r//
3.4 sed替換
sed -i 's/^M//' file
如果以上方法有用,希望能得到您的一鍵三聯