linux命令-awk,sort,uniq


學習地址:http://man.linuxde.net/awk#awk的工作原理

awk

 

選項參數說明:

-F fs or --field-separator fs
指定輸入文件折分隔符,fs是一個字符串或者是一個正則表達式,如-F:。
-v var=value or --asign var=value
賦值一個用戶定義變量。
-f scripfile or --file scriptfile
從腳本文件中讀取awk命令。
-mf nnn and -mr nnn
對nnn值設置內在限制,-mf選項限制分配給nnn的最大塊數目;-mr選項限制記錄的最大數目。這兩個功能是Bell實驗室版awk的擴展功能,在標准awk中不適用。
-W compact or --compat, -W traditional or --traditional
在兼容模式下運行awk。所以gawk的行為和標准的awk完全一樣,所有的awk擴展都被忽略。
-W copyleft or --copyleft, -W copyright or --copyright
打印簡短的版權信息。
-W help or --help, -W usage or --usage
打印全部awk選項和每個選項的簡短說明。
-W lint or --lint
打印不能向傳統unix平台移植的結構的警告。
-W lint-old or --lint-old
打印關於不能向傳統unix平台移植的結構的警告。
-W posix
打開兼容模式。但有以下限制,不識別:/x、函數關鍵字、func、換碼序列以及當fs是一個空格時,將新行作為一個域分隔符;操作符**和**=不能代替^和^=;fflush無效。
-W re-interval or --re-inerval
允許間隔正則表達式的使用,參考(grep中的Posix字符類),如括號表達式[[:alpha:]]。
-W source program-text or --source program-text
使用program-text作為源代碼,可與-f命令混用。
-W version or --version
打印bug報告信息的版本。
View Code

舉例:

netstat -nat | grep "10.152.85.236:22" |awk '{print $5}'|awk -F: '{print $1}' |sort|uniq -c|sort -nr|head -20

語法解釋:

awk' begin{commends} {commends} end{commends}'  #awk的基本語法,這三個模塊不是必須的,都沒有的話,等同於“{print}”’

awk -F:    #按冒號分割

'{print $5}'  #打印第5個字段

 

sort

[root@www ~]# sort [-fbMnrtuk] [file or stdin]
選項與參數:
-f  :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b  :忽略最前面的空格符部分;
-M  :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n  :使用『純數字』進行排序(默認是以文字型態來排序的);
-r  :反向排序;
-u  :就是 uniq ,相同的數據中,僅出現一行代表;
-t  :分隔符,默認是用 [tab] 鍵來分隔;
-k  :以那個區間 (field) 來進行排序的意思

 

sort   #排序   sort -nr  #按照數字,反向排序

uniq

uniq #去重,只能去相鄰的重復,所以跟sort搭配使用

uniq -c #刪除重復行的同時在行首位置輸出該行重復的次數

head

 

命令參數:

 

-q 隱藏文件名
-v 顯示文件名
-c<字節> 顯示字節數
-n<行數> 顯示的行數

 

head -n -20  #顯示文件的前20行

head -20  #也是顯示文件的前20行

 

 

 wc

統計文件里面有多少單詞,多少行,多少字符。

wc語法

[root@www ~]# wc [-lwm]
選項與參數:
-l  :僅列出行;
-w  :僅列出多少字(英文單字);
-m  :多少字符;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM