1. vi編輯器中轉換
在vi中使用命令 set ff?(fileformat)可以檢視檔案的格式,使用set ff=dos(unix)可以設定檔案的格式
2.使用sed處理(來至
tag:linux sed 正則 替換
dos/windows和linux/unix的檔案換行回車格式不同,基於 dos/windows 的文字檔案在每一行末尾有乙個 cr(回車)和 lf(換行),而 unix 文字只有乙個換行。
1)把dos/windows下的檔案移至linux/unix系統
雖然很多程式不在乎 dos/windows 格式的 cr/lf 文字檔案,但是有幾個程式卻在乎 -- 最著名的是 bash,只要一遇到回車,它就會出問題。以下 sed 呼叫將把 dos/windows 格式的文字轉換成可信賴的 unix 格式:
$ sed -e 's/.$//' mydos.txt > myunix.txt
把每行的最後乙個字元替換成空
$ sed -e 's/.$/abc/' mydos.txt > myunix.txt
把每行的最後乙個字元替換成abc
該指令碼的工作原理很簡單:替代規則表示式與一行的最末字元匹配,而該字元恰好就是回車。我們用空字元替換它,從而將其從輸出中徹底刪除。如果使用該指令碼並注意到已經刪除了輸出中每行的最末字元,那麼,您就指定了已經是 unix 格式的文字檔案。也就沒必要那樣做了!
2)把linux/unix 文字移至 windows 系統,使用以下指令碼執行必需的格式轉換:
$ sed -e 's/$/\r/' myunix.txt > mydos.txt
在每行的末尾新增\r
$ sed -e 's/123$/345/' myunix.txt > mydos.txt
每行以123結尾的行,把123替換成345
在該指令碼中,'$' 規則表示式將與行的末尾匹配,而 '/r' 告訴 sed 在其之前插入乙個回車。在換行之前插入回車,立即,每一行就以 cr/lf 結束。請注意,僅當使用 gnu sed 3.02.80 或以後的版本時,才會用 cr 替換 '\r'。
dos檔案格式如何轉換成unix檔案格式
dos格式檔案傳輸到unix系統時,會在每行的結尾多乙個^m,當然也有可能看不到,但是在vi的時候,會在下面顯示此檔案的格式,比如 "dos.txt" [dos] 120l, 2532c 字樣,表示是乙個[dos]格式檔案,如果是mac系統的,會顯示[mac],因為檔案格式的原因有時會導致我們的unix程式,或者shell程式出現錯誤,那麼需要把這些dos檔案格式轉換成unix格式,方法是
vi dos.txt
:set fileformat=unix
:w
這樣檔案就轉換成unix格式檔案了, 一般在windows機器上編寫好了檔案傳到unix下就可能會出現這樣的情況.
用命令:set ff?
可以看到dos或unix的字樣.
用:set ff=unix把它強制為unix格式
也可以用sed 這樣的工具來做:
sed 's/^m//' filename > tmp_filename
其中^m是同時ctrl+v+m按出來的,表示回車。
dos,unix格式處理的差別:dos是回車+換行,而在unix下,只有回車,無換行!
sed -e 's/a/a/' t.txt > t1.txt 將t.txt中每行的第乙個a轉成a
sed -e 's/a/a/g' t.txt > t1.txt 將t.txt中每行的所有a轉成a
3)如何把windows和unix格式混合的檔案,變得都是unix格式的
sed -e 's/\r//g' window.txt > unix.txt
linux下的檔案編碼,vim編碼
vim公升級7.3版本後vim總是會出現莫名其妙的問題。比如vim開啟檔案時正常開啟,而vi呢會報這個問題,奇怪。這個特徵的確是vim7.3才能用set colorcolumn的 vi zz error detected while processing home fdafd vimrc line ...
在Linux如何讓更改檔案的字元編碼
問題 在我的 linux 系統中有乙個編碼為 iso 8859 1 的字幕檔案,其中部分字元無法正常顯示,我想把文字改為 utf8 編碼。在 linux 中,有沒有乙個好的工具來轉換文字檔案的字元編碼?正如我們所知道的那樣,電腦只能夠處理低階的二進位制值,並不能直接處理字元。當乙個文字檔案被儲存時,...
Ubuntu環境下基於Linux進行DOL配置
進入ubuntu下,開啟終端,依次輸入以下指令 sudo apt get update sudo apt get install ant sudo apt get install openjdk 7 jdk sudo apt get install unzip 安裝及更新有時會比較慢,主要是由於網速...