linux常用文文書處理命令總結,linux文文書處理總結

來源:互聯網
上載者:User

linux常用文文書處理命令總結,linux文文書處理總結

linux grep命令

作用
Linux系統中grep命令是一種強大的文本搜尋工具,它能使用Regex搜尋文本,並把匹 配的行列印出來。grep全稱是Global Regular Expression Print,表示全域Regex版本,它的使用許可權是所有使用者。

主要參數

-n:顯示匹配行及 行號。

-v:顯示不包含匹配文本的所有行。

-I:不區分大 小寫(只適用於單字元)。

-l:查詢多檔案時只輸出包含匹配字元的檔案名稱。

-e:使用擴充的Regex

-w: 只匹配整個單詞,而不是字串的一部分 (即由連續的字元,數字和底線構成的整體)

Linux sed命令

作用

Sed命令主要用於對整行進行處理,對列處理可使用下面介紹的awk命令

用法 sed 選項 動作 檔案

常用選項:

  -n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢幕上。但如果加上 -n 參數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
  -f∶直接將 sed 的動作寫在一個檔案內, -f filename 則可以執行 filename 內的sed 動作;
 -i∶直接修改讀取的檔案內容,而不是由螢幕輸出。  

常用動作

  a   ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行),如果要新增多行,需用\換行
  c   ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!如果字串要換行,需要用\配合
  d   ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
  i   ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);如果要插入多行,需用\換行
  p  ∶列印,亦即將某個選擇的資料印出。通常 p 會與參數 sed -n 一起運作~
 s  ∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規標記法!例如 s/old/new/g 就是啦!

Linux awk命令

awk可以獨立的作為一門程式設計語言,這裡只介紹其簡單的一部分

awk一般配合print和printf來使用

如:

顯示/etc/passwd中的 使用者名稱,使用者id和組id,前面加上行號(通過cat -n) -F用來說明劃分列的分隔字元,$1,$3,$4分別指第1,3,4行

cat -n /etc/passwd | awk -F “:” '{print $1 “\t” $3 “\t” $4}'

 

第一行顯示username userid groupid然後顯示和上個例子一樣的內容(行號是通過awk中的NR顯示的)

cat /etc/passwd | awk 'BEGIN {FS=”:”; printf “%d\t%10s\t%10s\t%10s\n”,NR,”username”,”userid”,”groupid”}\

{printf “%10s\t%10s\t%10s\n”,$1,$3,$4}\

END {printf “finish\n”}'

 

顯示永久連結數目大於5的檔案,$0代表整行

ll | awk '$2>5 {print $0}'

原始檔案:

score:

|Math|English|C++|OS|SE|

|95     |89     |92 |98   |99|

|66     |78     |82 |81   |90|

|79     |65     |77 |82   |35|

命令:

cat score | awk 'BEGIN {FS="|"; print "MY Score List"}\ 

NR==1 {print $0 "Sum" FS "Average" FS}\ 

NR>1 {sum=$1+$2+$3+$4+$5;aver=sum/5;print $0 sum FS aver FS}\ 

END {print "Finish"}'

 

輸出:

MY Score List 

|Math|English|C++|OS|SE|Sum|Average| 

|95  |89     |92 |98|99|374|74.8| 

|66  |78     |82 |81|90|307|61.4| 

|79  |65     |77 |82|35|303|60.6| 

Finish

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.