關於linux下的文字檔案格式轉換問題

時間 2021-07-12 15:34:50

1樓:

這個獲取第4列:

awk '' a.txt

這個輸出:第1列[ ]第4列[ ]第5列 - (中間是tab相隔)

awk '' a.txt

cut 預設以tab鍵為欄位分隔符,從man page中的這句話可以看出:

-d, --delimiter=delim

use delim instead of tab for field delimiter

awk 則不區分tab還是空格,其 man page中有如下描述:

fields ...... in the special case that fs is a single space, fields are separated by runs of spaces and/or tabs and/or newlines. ......

fs the input field separator, a space by default. see fields, above.

2樓:匿名使用者

linux下文字檔案格式轉換有不同情景:

如果你需要在linux 中操作windows下的檔案,那麼你可能會經常遇到檔案編碼轉換的問題。windows中預設的檔案格式是gbk(gb2312),而linux一般都是utf-8。下面介紹一下,在linux中如何檢視檔案的編碼及如何進行對檔案進行編碼轉換。

檢視檔案編碼

在linux中檢視檔案編碼可以通過以下幾種方式:

1.在vim 中可以直接檢視檔案編碼

shell**

:set fileencoding

即可顯示檔案編碼格式。

如果你只是想檢視其它編碼格式的檔案或者想解決用vim檢視檔案亂碼的問題,那麼你可以在

~/.vimrc 檔案中新增以下內容:

shell**

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

這樣,就可以讓vim自動識別檔案編碼(可以自動識別utf-8或者gbk編碼的檔案),其實就是依照 fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ascii)編碼開啟。

2. enca (如果你的系統中沒有安裝這個命令,可以用sudo yum install -y enca 安裝 )檢視檔案編碼

$ enca filename

filename: universal transformation format 8 bits; utf-8

crlf line terminators

需要說明一點的是,enca對某些gbk編碼的檔案識別的不是很好,識別時會出現:

unrecognized encoding

檔案編碼轉換

1.在vim中直接進行轉換檔案編碼,比如將一個檔案轉換成utf-8格式

shell**

:set fileencoding=utf-8

2. enconv 轉換檔案編碼,比如要將一個gbk編碼的檔案轉換成utf-8編碼,操作如下

enconv -l zh_cn -x utf-8 filename

3. iconv 轉換,iconv的命令格式如下:

iconv -f encoding -t encoding inputfile

比如將一個utf-8 編碼的檔案轉換成gbk編碼

iconv -f gbk -t utf-8 file1 -o file2

3樓:

awk '' a.txt

windows的文字檔案如何轉換成linux的文字檔案?

4樓:體育放蕩不羈愛社會

使用linux系統中自帶的流文字編輯器sed/dos/windows和linux/unix的檔案換行回車格式不同, 基於 dos/windows 的文字檔案在每一行末尾有一個cr(回車)和lf(換行),而 unix 文字只有一個換行。

把dos/windows下的檔案移至linux/unix系統,雖然很多程式不在乎 dos/windows 格式的 cr/lf 文字檔案,但是有幾個程式卻在乎 -- 最著名的是 bash,只要一遇到回車,它就會出問題。以下 sed 呼叫將把 dos/windows 格式的文字轉換成可信賴的 unix 格式。

把linux/unix 文字移至 windows 系統,使用以下指令碼執行必需的格式轉換:在該指令碼中,規則表示式將與行的末尾匹配,'\r' 使 sed 在其之前插入一個回車。在換行之前插入回車。

sublime text 怎麼轉換windows linux文字檔案的格式

5樓:盤默

最近使用ubuntu linux發現,windows 下的文字到linux下可以正常的瀏覽,但是linux下的文字到windows下後發現凡是“回車”部分全是“黑塊”,經過一段時間的查詢搜尋發現了原因及解決辦法:

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

該指令碼的工作原理很簡單:替代規則表示式與一行的最末字元匹配,而該字元恰好就是回車。我們用空字元替換它,從而將其從輸出中徹底刪除。

如果使用該指令碼並注意到已經刪除了輸出中每行的最末字元,那麼,您就指定了已經是 unix 格式的文字檔案。也就沒必要那樣做了!

2)、把linux/unix 文字移至 windows 系統,使用以下指令碼執行必需的格式轉換:

$ sed -e 's/$/\r/' myunix.txt > mydos.txt

在該指令碼中,'$' 規則表示式將與行的末尾匹配,而 '\r' 告訴 sed 在其之前插入一個回車。在換行之前插入回車,立即,每一行就以 cr/lf 結束。請注意,僅當使用 gnu sed 3.

02.80 或以後的版本時,才會用 cr 替換 '\r'。

另外還有個方法:

使用命令

unix2dos filename

dos2unix filename

互相轉換,具體朝哪個方向轉不用我詳細說了吧。

怎樣將WPS文字檔案轉換為TXT格式的檔案?

以wps 2019版本為例 開啟檔案,單擊左上角的 檔案 另存為 其他格式 彈出對話方塊,在 另存為 視窗,下方的 檔案型別 選擇。txt格式,進行儲存即可。將wps文字檔案轉換為txt格式的檔案的操作步驟 1 單擊wps文字 另存為命令 您好,很高興為您解答!wps2013預設的格式是office...

python 讀取文字檔案 刪除裡邊的空行

趣園藝 def delblankline infile,outfile delete blanklines of infile infp open infile,r outfp open outfile,w lines infp.readlines for li in lines if li.spl...

關於c語言中文字檔案的逐行讀取的實現

小夏在深圳 若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。include main file fp fp fopen noe...