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
互相轉換,具體朝哪個方向轉不用我詳細說了吧。
關於linux下開啟windows文字檔案亂碼的問題
0002 windows程式出現亂碼的解決方案之一。linux開啟windows亂碼的問題 windows下檔案已經是utf8編碼了 windows下的檔案在linux下顯示為亂碼 是因為檔案格式的問題,windows系統是fat型別和ntfs的檔案格式,linux是ext32型別的檔案格式,檔案格...
求c語言讀取寫入文字檔案的函式實現
go陌小潔 c語言標準庫提供了一系列檔案i o函式用於檔案操作,比如fopen 用於開啟檔案 fread fwrite 用於讀寫檔案 fseek 用於設定操作位置等等,一般c語言教程上都有檔案i o一章,細緻內容,可以找本教科書學習一下。下面的示例,是向名為1.txt的檔案附加hello world...
vb替換文字,vb替換文字檔案中指定的內容
1全部if dir 檔案路徑 then 如檔案不存在 不返回值 所以是 空白 msgbox 不存在 else shell regedit.exe s c del.reg end if vb檢查檔案是否存在,可使用 if dir strpathfilename then 就行了 else 執行shel...