Linux [文本處理]

來源:互聯網
上載者:User

標籤:使用   os   檔案   for   linux   python   應用   window   

cut -- 將行根據需求分成指定的片段

常用參數:

-d 以。。。為分割符   -d: 以:分割行(類似於python中的split)

-f 得到分割後的某個列  -f1-3 得到分割後的第1個到第3個列 (即1,2,3列,這裡面是從1開始的,而不是0)

-c 指定位置字元 -c1 得到行的第一個字元

 

grep -- 尋找常值內容

常用參數:

-i 忽略大小寫

-n 顯示行數

-An 顯示尋找到的字元的後(After)n行

-Bn 顯示尋找到的字元的前(Before)n行

-v 顯示不含有該字元的行

 

例子:

grep yechengzhou /特長/passwd | cut -d: f6 (得到yechengzhou使用者的家目錄)

 

wc -- 統計文本資訊

-l 行

-w 單詞

-m 字元

-c 位元組

不加參數  wc filename 得到結果為

行數 單詞數 字元數 檔案名稱

 

 

sort -- 對常值內容進行排序

預設 根據首字母排序

參數:

-r 倒序

-n 指定基於數字進行排序

-f 忽略大小寫

-u 重複資料刪除行  (or find | uniq 只能刪除相鄰的重複行)

-t c 根據c為分隔字元將行分割成列,並將列排序

 

diff -- 比較兩個檔案的區別

-i 忽略大小寫

-b 忽略空格數量的變化

-u 統一顯示比較資訊(一般用於產生patch)

 

tr -- 對文本進行處理, 只針對標準輸出,如果要修改檔案內容需要重新導向

tr -d "TMD" < filename 刪除文本中的TMD 輸出, 檔案內容不變

tr ‘abc‘ ‘ABC‘ < filename 將檔案中的小寫a,b,c替換成A,B,C, 檔案內容不變

-s , 刪除所有 str_from 重複出現字元序列,只保留一個 ,即重複字串壓縮為一個 
【一個很經典的應用就是把不規律的空格縮減為一個空格: tr -s ‘ ‘ filename】 

 

sed -- 搜尋替換,使用Regex處理, 替換後標準輸出

sed 正則 檔案

例子:

sed "1,50s/linux/unix/g" filename 將filename中的1-50行的所有linux替換成Unix (/g代表所有, 不加/g只替換第一個)

sed -f sedfile filename根據sedfile中的內容進行sed操作(比如說sedfile 的內容是 "s/linux/unix/g" 那麼就是將filename中的所有linux替換成unix)

sed -e "s/linux/unix/g" -e "s/windows/OS/g" filename 同時做多個替換

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.