linux和windows和換行符不一樣。windows下是crlf(\r\n或0d0a),linux下是lf(\n或0a)。在linux下有時會遇到從windows過來的文字檔案,這些檔案帶了windows換行符,linux下進行指令碼處理時有可能會出一些莫名其妙的錯誤。因此需要將這些檔案轉換為linux換行符。
但是,為乙個小小的換行符轉換何至於勞師動眾安裝什麼軟體。況且我的伺服器與外網隔絕,
安裝軟體
不是乙個簡單的yum就可搞定的。
所以,我採用了linux自帶的sed命令完成相同的任務。
單個的檔案裝換
sed -i 's/\r//' filename
批量的檔案裝換
sed -i 's/\r//' filename1 filename2 ...
或find conf/ -name "*.*" |xargs sed -i 's/\r//'
轉換舉例:
[root@zabbix ~]##echo -e 'a\n\r\b'>file1
[root@zabbix ~]##file file1
file1: ascii text, with cr, lf line terminators, with overstriking
[root@zabbix ~]##sed -i 's/\r//' filename
[root@zabbix ~]## file file1
file1: ascii text, with overstriking
windows下go編碼轉換問題
github 上有兩個 package 做編碼轉換,都是基於 iconv 用到了 cgo,在 linux 下沒有問題,在 windows 下用,非常麻煩。採用 mingw 安裝libiconv 也不行,一直提示找不到 libiconv 方法。最終找到乙個官方實現 純 go實現 gbk轉utf 8 示...
linux下編碼轉換
1.什麼是編碼?還可以參考 2.linux下經常遇到的編碼問題 如果你需要在linux中操作windows下的檔案,那麼你可能會經常遇到檔案編碼轉換的問題。windows中預設的文 件格式是gbk gb2312 而linux一般都是utf 8。3.檢視編碼的方法 方法一 file filename ...
linux與windows下檔案轉換
記錄下平時的tips 換行問題 linux 換行 n windows 換行 r n windowns linux dos2unix linux windowns unix2dos 例 ls l filename 顯示檔案許可權 hexdump c filename 顯示檔案格式 unix2dos n...