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
互相轉換,具體朝哪個方向轉不用我詳細說了吧。
關於C語言文字檔案的問題,急
按照給的檔案內容,模擬了一下程式,沒問題的,能夠輸出 include include define bw bw define hdref hdref int main if memcmp item,hdref,sizeof hdref 0 輸出2個值 fclose fp return 0 下面是輸出...
如何把文字檔案中的空白刪除,如何刪除文字檔案中的空格和空行
ctrl h 把你要空的單位貼上在上面一欄,然後點執行就可以了 是要把選中的地方的 空格 去掉嗎?如何刪除文字檔案中的空格和空行 用word開啟檔案,然後按 ctrl h 查詢中輸入 p p 替換中輸入 p 點全部替換,多點幾次,直到提示找不到。然後另存為txt檔案 怎麼樣才能快速刪掉txt中的空白...
批量替換不同的文字檔案裡面的文字
放到word裡面 按ctrl f,選擇替換 然後就可以把要替換的字自己打上去就行了 1 對於內容相似的文字 先用 快速選擇 選中這些文字,然後滑鼠右鍵 特性 文字內容 統一改為相同的英文。2 對於內容完全的文字 可直接用選單 編輯 查詢 文字替換,進行修改。補充 快速選擇的使用方法如下 以選中文字 ...