shell指令碼第七彈

2021-10-04 07:17:29 字數 1267 閱讀 3172

awk

提取本機網絡卡流量

根分割槽的剩餘容量

語法結構:

awk 選項 『[條件]』 檔案

//如果要編輯多條指令,用;分割

#cat test.txt

hello the world

welcome to china

指令:print

//awk 過濾檔案第二列

#awk 『』 test.txt

//輸出磁碟的剩餘空間

#df -h | awk 『』

注意:若未指定分隔符,預設將空格 製表符作為分隔符

不光可以列印變數,還可以列印常量

/etc/passwd 中以:為分隔符

選項:-f:可以指定分隔符

//輸出/etc/passwd 中以:為分隔符的第一列和第七列

#awk -f:』[print $1,$7]』 /etc/passwd

root /bin/bash

bin /sbin/nologin

awk內建變數:

$1:文字第一列

$2:文字第二列

以此類推

nr 檔案當前的行號

nf 檔案當前的行的列數

提取網絡卡流量:

#ipconfig

px packets … //接收資料量

tx packets … //傳送資料量

#ifconfig eth0 | awk 『/tx p/』

2439674050

#df -h / | awk 『///』

44g#df -h / tail -1 | awk 『』

44g#awk 『/failed/』 /var/log/secure

awk格式化輸出:

語法結構:

awk 選項 『begin end』 檔案

begin :行前處理,讀取檔案內容前執行,指令只執行一次

: 逐行處理 執行n次

end :行後處理,指令只執行1次

案例:統計系統中使用bash作為登入shell的使用者總個數

思路:1.預處理,賦值變數x=0

2.逐行處理/etc/passwd檔案,如果發現最後一列是/bin/bash時,x+1

3.當你全部處理完畢之後。輸出x值即可

#awk 『begin /bash$/ end 』 /etc/passwd

#awk -f:『begin

end』 /etc/passwd

user uid home

root 0 /root

shell指令碼11彈

shell指令碼程式設計 變數補充 if條件判斷 變數的型別 字串 數值 布林型別 true false null shell中指定變數的型別 declare declesar 內建命令 用來宣告和修改變數的屬性 唯讀 readonly r 設定為唯讀變數 declare r a 10 r 不能修改...

shell指令碼十二彈

1.使用正則處理條件 輸出以bash結尾的完整記錄 輸出整行 awk f bash etc passwd 輸出包含root的行 awk f root etc passwd print可以不寫 輸出root或者he賬號的使用者名稱和uid資訊 awk f root tom 輸出賬戶的名稱包含root的...

shell 指令碼第五彈

1.shell指令碼程式設計 1.指令碼是 c語言 程式設計 shell 指令碼 只作用於linux作業系統 以間隔多行命令 2.功能 批量處理檔案 自動去做某些功能 date,who,ls 處理日誌資訊 備份 刪除原日誌 上傳備份檔案 週期性計畫任務 3.學習方法 linux的命令 lamp we...