就linux三劍客簡單歸納

2022-04-29 08:24:08 字數 3006 閱讀 5405

就linux三劍客簡單歸納:

1:awk

習題1:用 awk 中檢視伺服器連線狀態並彙總

netstat -an|awk '

/^tcp/end

'established

1listen

20awk

'end

total size

is :172230

21 /icons/poweredby.png 83076

14 / 70546

8 /icons/apache_pb.gif 18608

awk基本用法:awk –f [:」 」] 『beginend』

它裡面可以用到if,

for,陣列等類c的語法,其中陣列下標除了可以是數字外還可以是字串,這就大大增強了它的文字統計能力。在awk裡變數可以不用先定義,可以直接用,初始值為0。

關於逗號的用法:

awk和sed裡都可以用,用法為awk 『/a/,/b/end』 filename 匹配所有符合從字元a到第乙個字元b的內容並後面事件處理

sed –n 『/a/,/b/p』 filename 匹配所有符合從字元a到第乙個字元b的內容並輸出到螢幕

2:sed

常用引數:

-i 直接修改文件讀取的內容,不在螢幕上輸出

-n 當選項-n和命令p同時出現時,sed 可列印選定的內容

-r sed 使用擴充套件正則

3:grep

常用引數:

-i 忽略字元大小寫的差別

-w 精確查詢指定字串,找到了就返回字元所在的那一行

-o 查詢指定字元,僅返回查詢的內容,一般加e配合,查詢正規表示式

-e 選項使用擴充套件正規表示式

練習:在下面文字內容裡統計device{}裡的key的數量,其他地方的key不算。假如filename為case.log:

key

isa linuxer.

device:

keydevice:

key key

device:

device:

key個人解答方法:1:

awk

'/^device :/ end

'case

.log

解釋:先匹配所有符合device開頭且每次匹配到第乙個}的內容,再在每行的每個字段進行匹配key,最後輸出key的num值。2:

sed –n 『/device :/p』 case.log | tr 「 」 「\n」| grep –w 「key」| wc -l

解釋:先用sed進行匹配device裡的所有含key的行,在用tr把空格換成換行,再用grep去匹配key的行(每行乙個字元段),最後用wc –l統計行的數量及為key的num值。3:

sed –n 『/device :/p』 case.log | awk –f 「 」 『 end』

sort 命令對 file 引數指定的檔案中的行排序,並將結果寫到標準輸出。如果 file 引數指定多個檔案,那麼 sort 命令將這些檔案連線起來,並當作乙個檔案進行排序。

常用引數:

-n :使用『純數字』進行排序(預設是以文字型態來排序的);

-r :反向排序;

-t :分隔符,預設是用 [tab] 鍵來分隔;

-k :以那個區間 (field) 來進行排序的意思

sort 是預設以第乙個資料來排序,而且預設是以字串形式來排序,預設從小到大順序。

cat /etc/passwd | sort -t '

:' -k 3

第三欄來排序,小到大

uniq命令可以去除排序過的檔案中的重複行,因此uniq經常和sort合用。也就是說,為了使uniq起作用,所有的重複行必須是相鄰的。

常用引數:

-i :忽略大小寫字元的不同

-c :進行計數

-u :只顯示唯一的行

-d :僅顯示存在重複的行

cut命令可以從乙個文字檔案或者文字流中提取文字列。

常用引數:

-c :以字元為單位進行分割

-d :後面接分隔字元。與 -f 一起使用;

-f :依據 -d 的分隔字元將一段資訊分割成為數段,用 -f 取出第幾段的意思;

echo $path | cut -d '

:' -f 5

找出第五個路徑

echo $path | cut -d '

:' -f 1-3,5

找出第一到第三個路徑

echo $path | cut -d '

:' -f 3-找出第三到最後乙個路徑

wc命令統計檔案裡面有多少行,多少單詞,多少字元。

常用引數:

-l :僅列出行;

-w :僅列出多少字(英文單字);

-m :多少字元;

tee命令讀取標準輸入的資料,並將其內容輸出成檔案。

參  數:

-a或  附加到既有檔案的後面,而非覆蓋它;

[root@localhost ~]# who | tee who.out

root     pts/0        2009-02-17 07:47 (123.123.123.123)

[root@localhost ~]# cat who.out

root     pts/0        2009-02-17 07:47 (123.123.123.123)

[root@localhost ~]# pwd | tee -a who.out

/root

[root@localhost ~]# cat who.out

root     pts/0        2009-02-17 07:47 (123.123.123.123)

/root

paste命令用於合併檔案的列,paste指令會把每個檔案以列對列的方式,一列列地加以合併。

引數

-d《間隔字元》  用指定的間隔字元取代跳格字元;

-s  串列進行而非平行處理;

Linux命令三劍客

grep的簡單使用 grep的主要作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配到的行 grep的工作模式 由正規表示式字元及文字字元所編寫的過濾條件 grep的用法 grep options pattern file options v 顯示不被pattern匹配...

文字三劍客

檔案萬用字元和正規表示式 文字過濾工具grep linux系統中,一切皆檔案。強大的文字編輯和處理工具便必不可少了,在linux系統中,有文字處理三劍客 grep,sed,awk。在進行介紹三大工具前,我們先總結一下檔案萬用字元和正規表示式。檔案萬用字元主要就是對檔案的查詢進行檔名的模糊查詢,而正規...

三劍客 高階

awk 是一種程式語言,用於在linux unix下對文字和資料進行處理 awk 資料可以來自標準輸入,乙個或多個檔案,或其他命令的輸出 awk 通常是配合指令碼進行使用,是乙個強大的文字處理工具。01.進行逐行掃瞄檔案,從第一行到最後一行 02.尋找匹配的特定模式的行,在行上進行操作 03.如果沒...