欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

awk的使用及printf格式輸出-創(chuàng)新互聯(lián)

1基礎(chǔ)用法

awk -F: '{print$1}' /etc/passwd
 #顯示passwd 的用戶名

 awk -F: '$NF=="/bin/bash"{print $1,$NF}' /etc/passwd
 #顯示出shell為 "/bin/bash" 的用戶

 awk 'BEGIN{print"開頭"}{print$0}END{print"結(jié)束"}' /etc/passwd
 #BENGIN可以理解為頁頭,END理解為頁腳

 df -h|awk -F% '/^\/dev/{print $1}'|awk '{if($5>=20)print $1,$5"%"}
 #先匹配dev,應(yīng)為dev開頭的才是真正掛載的找出磁盤空間大于20%的,思路先用%切成兩段,把第一段管道給后面,這是$5已經(jīng)取出想要的值了,進行比較大于20就輸出

 awk '{FS=":";OFS="---"}{print NR,$1,$2,$3}' /etc/passwd
 #以:為定界,---為輸出定界符

2.AWK if的使用

awk -F":" '{if($1=="root")print$0}' /etc/passwd
 #單if使用,第一個字段內(nèi)容等于"root"就顯示。
 awk -F":" '($1=="root"){print$0}' /etc/passwd
 #另一種寫法,和上面一樣,不用帶if 用()就可以了

 awk -F":" '{if($1=="root")next}{print$0}' /etc/passwd
 #單if使用,第一個字段等于"root"就跳過,顯示后面的,和上面正好顯示相反的
 #next 本次直接跳過,exit直接退出,但是有EOF還是要執(zhí)行EOF的內(nèi)容

awk -F: '{if(NR>=2&&NR<=10)print $1}' /etc/passwd
 #and的用法,表示顯示第2到10行數(shù)據(jù)
 awk -F: '{if(NR==2||NR==10)print $1}' /etc/passwd
 #or的用法,表示顯示第2和第10行
 awk -F: '{if(NR!=2)print $1}' /etc/passwd
 #取反的用法,除了第二行,其他都顯示

 awk -F: '{if($3<=500){print$1,$3,"系統(tǒng)用戶"}else{print$1,$3,"普通用戶"}}' /etc/passwd
 #雙分支使用,以ID號為參數(shù),大于500的輸出為系統(tǒng)用戶 ,其他輸出為普通用戶

 實戰(zhàn)
 df -h|awk -F% '/^\/dev/{print $1}'|awk '{if($5>=20)print $1,$5"%"}'
#功能,找出磁盤空間已用大于%20的,思路先用%切成兩段,把第一段管道給后面,這是$5已經(jīng)取出想要的值了,進行比較大于20就輸出

3.AWK 變量的使用及內(nèi)置變量

awk -v x=$z -F" " NR==x'{print$0}' /etc/ansible/hosts
#awk 不能直接調(diào)用變量,需要用-v 聲明下變量,變量z是shell里面的,x是awk內(nèi)部的,把z變量賦值給x,x就能在后面調(diào)用了,調(diào)用無需其他符號直接使用

echo "$*"|awk -v y=$y -F" " '{print $y}'
#在{prinf } 內(nèi)存引用變量 ,必須用'' 單引號,雙引號不可以

 AKW取反
 echo "1 2 3 4" |awk -F" " '{$1="";print$0}'
 #會顯示 2 3 4
 echo "1 2 3 4" |awk -F" " '{$NF="";print$0}'
 #顯示1 2 3 

echo "10.1.1.1"|awk -F"." '{print NF}'
#查看有幾個字段數(shù)
echo "10.1.1.1"|awk -F"." '{print $NF}'
#查看最后一個字段的內(nèi)容

awk的使用及printf 格式輸出

成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù)團隊是一支充滿著熱情的團隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標準與要求,同時竭誠為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)公司把每個網(wǎng)站當做一個產(chǎn)品來開發(fā),精雕細琢,追求一名工匠心中的細致,我們更用心!
awk '{FS=":";OFS="***"}{print NR,$1,$2,$3}' /etc/passwd
#以:分隔符,以"***"為顯示分隔符,顯示行號及$1 $2 $3

awk的使用及printf 格式輸出

4.BEGIN和END

awk -F":" 'BEGIN{print"用戶""\t""ID"}{if($3<5)print$1"\t"$3}END{print"結(jié)束"}' /etc/passwd
#BENGIN和END可以理解為頁眉頁腳,美化輸出的

awk的使用及printf 格式輸出

BEGIN的幾種循環(huán)寫法
awk 'BEGIN{for(i=0;i<=5;i++){print i}}'
awk -v i=0 'BEGIN{ while(i<=5){print i;i++}}'
awk 'BEGIN{i=0;while(i<=5){print i;i++}}'
awk 'BEGIN{i=7;do{print"測試"i;i++}while(i<5)}'
幾種循環(huán)的寫法,最后一種do是無論條件滿足否都會執(zhí)行一次

一種高級用法
cat /etc/fstab |awk '/^UUID/||/^\/dev/{fs[$3]++}END{for(i in fs){print i,fs[i]}}'
awk的使用及printf 格式輸出
黃色表示匹配出UUID或者 /dev開頭的行,紅色以$3的字段名為數(shù)組的索引每次對數(shù)組的值加1,數(shù)組的值無需初始化默認為0,藍色以數(shù)組的索引作為循環(huán)列表,顯示i i就是$3的里的內(nèi)容,fs[i]是每次累加最后統(tǒng)計的和

5.printf格式化輸出

awk -F: '{printf "%-20s %-3s %-1s\n",$1,$2,$3}' /etc/passwd
#$1對應(yīng)"%-20s",$2對應(yīng)"%-1s",$3對應(yīng)"%-1s\n",
"%   s" %和s是固定格式    -表示左對齊默認右對齊   20表示顯示字符不足20個用空格補全到20個字符

awk的使用及printf 格式輸出

其他例子
printf "%s %s %s %s %s\n" a b c d e f g h i j
表示每個%s 對應(yīng)這一個值輸出,像這個格式位有5個,有10個值,正好輸出會輸出成兩排
printf "%-10s %-8s %-4.3f\n" 郭芙 女 47.9876
%-10s 指一個寬度為10個字符(-表示左對齊,沒有則表示右對齊),任何字符都會被顯示在10個字符寬的字符內(nèi),如果不足則自動以空格填充,超過也會將內(nèi)容全部顯示出來。
%-4.2f 指格式化為小數(shù),其中.2指保留2位小數(shù)。

awk的使用及printf 格式輸出

6.作用范圍之正則表達式

awk -F":" '/\/bin\/bash/{print $1}' /etc/passwd
#表示只匹配到"bin/bash"的,才處理

awk -F":" '!/\/bin\/bash/{print $1 $7}' /etc/passwd
#加個!號取反,匹配到"bin/bash"的不處理,其他都處理

awk -F":" '/\/bin\/bash/||/\/bin\/csh/{print $1 $7}' /etc/passwd
#表示匹配到"/bin/bash","/bin/csh"才處理
awk -F":" '/\/bin\/bash|\/bin\/csh/{print $1 $7}' /etc/passwd
#和上面一樣,只不過上面是||的寫法,這個是|的寫法

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標題:awk的使用及printf格式輸出-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://www.chinadenli.net/article38/djcepp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)電子商務(wù)網(wǎng)站營銷ChatGPT網(wǎng)站收錄移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化