雲計算awk命令集錦

2021-12-30 10:42:54 字數 2190 閱讀 2249

awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。

1、假設last -n 5的輸出如下:

[root@localhost ~]#last -n 5

root pts/0 192.168.123.1 wed dec 28 01:55 still logged in

reboot system boot 2.6.32-573.el6.x tue dec 27 04:25 - 03:11 (22:46)

root pts/1 192.168.123.1 tue dec 27 02:00 - 02:00 (00:00)

root pts/1 192.168.123.1 tue dec 27 01:59 - 02:00 (00:00)

root pts/0 192.168.123.1 tue dec 27 01:59 - down (00:16)

2、只顯示五個最近登入的賬號:

[root@localhost ~]#last -n 5 | awk ''

root

reboot

root

root

root

awk工作流程是這樣的:讀入有'\n'換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第乙個域,$n表示第n個域。預設域分隔符是"空白鍵" 或 "[tab]鍵",所以$1表示登入使用者,$3表示登入使用者ip,以此類推

3、顯示/etc/passwd的賬戶:

[root@localhost ~]#cat /etc/passwd |awk -f ':' ''

root

bindaemon

admlp

這種是awk+action的示例,每行都會執行action。

-f指定域分隔符為':'

4、顯示/etc/passwd的賬戶和賬戶對應的shell,而賬戶與shell之間以tab鍵分割

[root@localhost ~]#cat /etc/passwd |awk -f ':' ''

root /bin/bash

bin /sbin/nologin

daemon /sbin/nologin

adm /sbin/nologin

lp /sbin/nologin

5、如果只是顯示/etc/passwd的賬戶和賬戶對應的shell,而賬戶與shell之間以逗號分割,而且在所有行新增列名name,shell,在最後一行新增"blue,/bin/nosh"。

cat /etc/passwd |awk -f ':' 'begin end '

cat /etc/passwd | awk -f ':' 'begin end '

name,shell

root,/bin/bash

daemon,/bin/sh

bin,/bin/sh

sys,/bin/sh

blue,/bin/nosh

awk工作流程是這樣的:先執行begin,然後讀取檔案,讀入有/n換行符分割的一條記錄,然後將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第乙個域,$n表示第n個域,隨後開始執行模式所對應的動作action。接著開始讀入第二條記錄直到所有的記錄都讀完,最後執行end操作。

搜尋/etc/passwd有root關鍵字的所有行

awk -f: '/root/' /etc/passwd

root:x:0:0:root:/root:/bin/bash

這種是pattern的使用示例,匹配了pattern(這裡是root)的行才會執行action(沒有指定action,預設輸出每行的內容)。

搜尋支援正則,例如找root開頭的: awk -f: '/^root/' /etc/passwd

搜尋/etc/passwd有root關鍵字的所有行,並顯示對應的shell

awk -f':' '/root/' /etc/passwd

/bin/bash

這裡指定了action

awk命令集錦

awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。1 假設last n 5的輸出如下 root localhost last n 5 ro...

雲計算cut命令集錦

高階文字處理命令 cutcut是乙個選取命令,它就是將一段資料經過分析,取出我們想要的。一般來說,選取資訊通常是針對 行 來進行分析的,並不是整篇資訊分析的 cut語法 cut 選 檔案 選項與引數 d 後面接分隔字元。與 f 一起使用 f 依據 d 的分隔字元將一段資訊分割成為數段,用 f 取出第...

DOS命令集錦

最常用命令上課裡我們已經學習了不少dos命令,但那只是很小的一部分,在這課將簡要介紹其它一些命令。首先,在這一節先回憶一下上課的內容,不要學過就忘啊,多使用幾次就能記住的。好,開始吧,看你學得怎麼樣。cd 改變當前目錄 sys 製作dos系統盤 copy 拷貝檔案 del 刪除檔案 deltree ...