欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

awk詳解及舉例

AWK語(yǔ)言

創(chuàng)新互聯(lián)公司專注于西安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供西安營(yíng)銷型網(wǎng)站建設(shè),西安網(wǎng)站制作、西安網(wǎng)頁(yè)設(shè)計(jì)、西安網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造西安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供西安網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

awk詳解及舉例

awk詳解及舉例

 

v 選項(xiàng):

-F :指明輸入時(shí)用到的字段分隔符

-v var=value:定義變量

awk詳解及舉例

v 分割符、域和記錄

awk執(zhí)行時(shí),由 分隔符分隔的字段(域)標(biāo)記$1,$2..$n稱 稱

為域標(biāo)識(shí)。$0為所有域,注意:和shell中變量$符含義不同

文件的每一行稱為記錄

省略action行 ,則默認(rèn)執(zhí)行 print $0的 的

$0:打印所有

v 示例:

awk '{print "hello,awk"}'

awk –F: '{print}' /etc/passwd

awk –F: ‘{print “wang”}’ /etc/passwd

awk –F: ‘{print $1}’ /etc/passwd

awk –F: ‘{print $0}’ /etc/passwd

awk –F: ‘{print $1”\t”$3}’ /etc/passwd

tail –3 /etc/fstab |awk ‘{print $2,$4}’

 

awk變量

v 變量:內(nèi) 置 和自定義變量

v FS:輸入字段分隔符,默認(rèn)為空白字符

awk -v FS=':' '{print $1,FS,$3}’ /etc/passwd

awk –F: '{print $1,$3,$7}’ /etc/passwd

v OFS:輸出字段分隔符,默認(rèn)為空白字符

awk -v FS=‘:’ -v OFS=‘:’ '{print $1,$3,$7}’ /etc/passwd

vRS:輸入記錄分隔符,指定輸入時(shí)的換行符,原換行符仍有效

awk -v RS=' ' ‘{print }’ /etc/passwd

v ORS:輸出記錄分隔符,輸出時(shí)用指定符號(hào)代替換行符

awk -v RS=' ' -v ORS='###'‘{print }’ /etc/passwd

 

 

awk詳解及舉例

awk詳解及舉例

 

 

 

打印奇數(shù)行或者偶數(shù)行:

 

 

awk詳解及舉例

awk詳解及舉例

 

計(jì)算的一些簡(jiǎn)單方法

awk詳解及舉例

統(tǒng)計(jì)一文件里單詞出現(xiàn)的次數(shù):

awk詳解及舉例

 

 

 NF:字段數(shù)量

awk -F:: ‘{print NF}’ /etc/fstab,引用內(nèi)置變量不用$

awk -F: '{print $(NF-1)}' /etc/passwd

awk詳解及舉例

v NR:行號(hào)

awk詳解及舉例

 

 FNR:各文件分別計(jì)數(shù),行號(hào)

awk '{print FNR}' /etc/fstab /etc/inittab

awk詳解及舉例

 FILENAME:當(dāng)前文件名

awk '{print FILENAME}’ /etc/fstab

打印出來(lái)時(shí)將所屬文件名也打印出來(lái)

awk詳解及舉例

 

ARGC:命令行參數(shù)的個(gè)數(shù)

awk '{print ARGC}’ /etc/fstab /etc/inittab

awk ‘BEGIN {print ARGC}’ /etc/fstab /etc/inittab

awk詳解及舉例

v ARGV:數(shù)組,保存的是命令行所給定的各參數(shù)

awk詳解及舉例

 

 自定義變量(區(qū)分 字符大小寫)

(1) -v var=value

(2) 在program

 

 

awk詳解及舉例

awk詳解及舉例

 變量放在{}里和外邊的區(qū)別:

{}內(nèi):每次執(zhí)行時(shí)都要賦值一次

{}外:執(zhí)行之前先賦值,以后循環(huán)使用

-f:調(diào)用腳本

 

 

awk詳解及舉例

awk詳解及舉例

 

printf命令

后邊有幾個(gè)變量,前邊就應(yīng)該有幾個(gè)格式的定義,即幾個(gè)%定義,百分號(hào)定義和變量要一一對(duì)應(yīng)

v 格式化輸出:printf  “FORMAT ” , item1, item2, ...

(1) 必須指定FORMAT

(2) 不會(huì)自動(dòng)換行,需要顯式給出換行控制符,

(3) FORMAT中需要分別為后面每個(gè)item指定格式符

v 格式符:與item一一對(duì)應(yīng)

%c: 顯示字符的ASCII碼 碼

%d, %i: 顯示十進(jìn)制整數(shù)

%e, %E:顯示科學(xué)計(jì)數(shù)法數(shù)值

%f:顯示為浮點(diǎn)數(shù)

10.3:總共10位,包括3個(gè)0,一個(gè)小數(shù)點(diǎn)

awk詳解及舉例

%g, %G:以科學(xué)計(jì)數(shù)法或浮點(diǎn)形式顯示數(shù)值

%s:顯示字符串

%u:無(wú)符號(hào)整數(shù)

下圖為10個(gè)字符:

awk詳解及舉例

%%: 顯示%自身

v 修飾符:

#[.#]:第一個(gè)數(shù)字控制顯示的寬度;第二個(gè)#表示小數(shù)點(diǎn)后精度,%3.1f

awk詳解及舉例

 

-: 左對(duì)齊(默認(rèn)右對(duì)齊) %-15s

awk詳解及舉例

+號(hào):顯示數(shù)值的正負(fù)符號(hào) %+d

 

BEGIN:在前面加一個(gè)表頭

awk詳解及舉例

操作符

v 算術(shù)操作符:

x+y, x-y, x*y, x/y, x^y, x%y

-x: 轉(zhuǎn)換為負(fù)數(shù)

+x: 轉(zhuǎn)換為數(shù)值

v 字符串操作符:沒有符號(hào)的操作符,字符串連接

v 賦值操作符:

=, +=, -=, *=, /=, %=, ^=

++, --

v 比較操作符:

==, !=, >, >=, <, <=

v 模式匹配符:~

將/etc/passwd中匹配的是root的打印出來(lái):

awk詳解及舉例

將df里以/dev/sd開頭的打印出來(lái)

awk詳解及舉例

awk詳解及舉例

awk詳解及舉例

左邊不和右邊匹配包含 !~:不包含bash的行

 

 

awk詳解及舉例

awk詳解及舉例

++在前:先加再打印

++在后:先打印再加:(--同理)

 

 邏輯操作符:與 與&&,或||,非!

 cmd1與cmd2:兩個(gè)命令都要執(zhí)行,都執(zhí)行完再?zèng)Q定最終的結(jié)果為真還是假

 cmd1 && cmd2:先看第一個(gè)為真,假;如果第一個(gè)為假,那么后邊的不管真假與第一個(gè)都是假,所以有可能后續(xù)的不執(zhí)行

在awk里的&&的意思與cmd1與cmd2的含義一樣:

awk詳解及舉例

 條件表達(dá)式(三目表達(dá)式):

selector?if-true-expression:if-false-expression

如果selector?成立,則執(zhí)行if-true-expression

如果selector?不成立,則執(zhí)行if-false-expression

因?yàn)??和:將條件表達(dá)式分成了三段,所以稱為三目表達(dá)式

 

relational expression: 關(guān)系表達(dá)式,結(jié)果為“真”才會(huì)被處理

真:結(jié)果為非0值,非空字符串

假:結(jié)果為空字符串或0值

數(shù)字里:0為假,非0為真

字符串:只要不為空都為真

 

line ranges:: 行范圍

startline,endline:/pat1/,/pat2/ 不支持直接給 出數(shù)字

格式

awk -F: ‘/^root\>/,/^nobody\>/{print $1}'

/etc/passwd

awk -F: ‘(NR>=10&&NR<=20){print NR,$1}'

/etc/passwd

NR:文件的行號(hào)

NF:文件每行的以符號(hào)分割的列數(shù)

awk詳解及舉例

v (5) BEGIN/END模式

BEGIN{}: 僅在開始處理文件中的文本之前執(zhí)行一次

END{}:僅在文本處理完成之后執(zhí)行

 

awk控制語(yǔ)句if-else

v 語(yǔ)法:if(condition){statement;…}[else statement]

if(condition1){statement1}else if(condition2){statement2}

else{statement3}

v 使用場(chǎng)景:對(duì)awk取得的整行或某個(gè)字段做條件判

 

awk詳解及舉例

awk詳解及舉例

查看是否有防火墻以及查看端口號(hào)

awk詳解及舉例

將9000端口改為默認(rèn)80

awk詳解及舉例

 

awk控制語(yǔ)句

v while循環(huán)

v 語(yǔ)法:while(condition){statement;…}

v 條件“真”,進(jìn)入循環(huán);條件“假”, 退出循環(huán)

v 使用場(chǎng)景:

對(duì)一行內(nèi)的多個(gè)字段逐一類似處理時(shí)使用

對(duì)數(shù)組中的各元素逐一處理時(shí)使用

打印以root開頭的,從第一列開始一直循環(huán)到最后一列,當(dāng)小于最后一列時(shí),將該字符長(zhǎng)度和名字打印出來(lái),然后i++,一直循環(huán)到最后一列

 

 

 

awk詳解及舉例

awk詳解及舉例

do-while循環(huán)

v語(yǔ)法:do {statement;…}while(condition)

v無(wú)論真假,至少執(zhí)行一次循環(huán)體

awk詳解及舉例

-s后可以指定分隔符

awk詳解及舉例

for循環(huán)

v語(yǔ)法:for(expr1;expr2;expr3) {statement;…}

v常見用法:

for(variable assignment;condition;iteration process)

{for-body}

v特殊用法:能夠遍歷數(shù)組中的元素

語(yǔ)法:for(var in array) {for-body}

next:

提前結(jié)束對(duì)本行處理而直接進(jìn)入下一行處理(awk自身循環(huán))

awk詳解及舉例

awk數(shù)組

v關(guān)聯(lián)數(shù)組:array[index-expression]

v index-expression:

(1)可使用任意字符串;字符串要使用雙引號(hào)括起來(lái)

(2)如果某數(shù)組元素事先不存在,在引用時(shí),awk會(huì)自動(dòng)創(chuàng)建

此元素,并將其值初始化為“空串”

若要判斷數(shù)組中是否存在某元素,要使用“index in array”格 格

式進(jìn)行遍歷

第一步:第一行1進(jìn)來(lái),$0為1,abc[1]沒有賦值為空,為0;!Abc[1]為1,abc[1]++為1;(1,1)

第二步:第二行進(jìn)來(lái),$0為2,abc[2]沒有賦值為空,為0;!Abc[2]為1,abc[2]++為1;(2,1)

第三步:第三行進(jìn)來(lái),$0為1,abc[1]為1,因?yàn)榈谝徊揭呀?jīng)對(duì)abc[1]賦值!Abc[1]為0,abc[1]++為2;所以(1,2)

第四步:第四行2進(jìn)來(lái),$0為2,abc[2]為1,因?yàn)榈诙揭呀?jīng)對(duì)abc[2]賦值,

!Abc[2]為0,abc[2]++為2;所以(2,2)

第五步:第五行3進(jìn)來(lái),$0為3,abc[3]沒有賦值為空,等于0;!Abc[3]為1,abc[3]++為1;所以(3,1)

以下的同上

awk詳解及舉例

awk數(shù)組

v若要遍歷數(shù)組中的每個(gè)元素,要使用for循環(huán)

v for(var in array) {for-body}

v注意:var會(huì)遍歷array

awk詳解及舉例

統(tǒng)計(jì)單詞出現(xiàn)的次數(shù):(通用代碼,統(tǒng)計(jì)別的文件也通用)

awk詳解及舉例

統(tǒng)計(jì)男生和女生平均成績(jī)多少?

awk詳解及舉例

awk函數(shù)

v數(shù)值處理:

rand():返回0和1之間一個(gè)隨機(jī)數(shù)

awk詳解及舉例

awk詳解及舉例

v字符串處理:

length([s]):返回指定字符串的長(zhǎng)度

sub(r,s,[t]):對(duì)t字符串進(jìn)行搜索r表示的模式匹配的內(nèi)容,并將第一個(gè)匹

配的內(nèi)容替換為s

echo "2008:08:08 08:08:08" | awk 'sub(/:/,“-",$1)'

gsub(r,s,[t]):對(duì)t字符串進(jìn)行搜索r表示的模式匹配的內(nèi)容,并全部替換

為為s所表示的內(nèi)容

echo "2008:08:08 08:08:08" | awk ‘gsub(/:/,“-",$0)'

awk詳解及舉例

split(s,array,[r]):以r為分隔符 , 切割字符串s,并將切割后的結(jié)果保存

至至array所表示的數(shù)組中,第一個(gè)索引值為1,第二個(gè)索引值為2,…

netstat -tan | awk '/^tcp\>/{split($5,ip,":");count[ip[1]]++}

END{for (i in count) {print i,count[i]}}'

awk詳解及舉例

awk函數(shù)

v自定義函數(shù)

v格式:

function name ( parameter, parameter, ... ) {

statements

return expression

}

v示例:

#cat fun.awk

function max(v1,v2) {

v1>v2?var=v1:var=v2

return var

}

BEGIN{a=3;b=2;print max(a,b)}

awk腳本

v將 將awk程序?qū)懗赡_本,直接調(diào)用或執(zhí)行

v示例:

#cat f1.awk

{if($3>=1000)print $1,$3}

#awk -F: -f f1.awk /etc/passwd

#cat f2.awk

#!/bin/awk –f

#this is a awk script

{if($3>=1000)print $1,$3}

#chmod +x f2.awk

#f2.awk –F: /etc/passwd

向awk腳本傳遞參數(shù)

v格式:

awkfile var=value var2=value2... Inputfile

v注意 :在BEGIN過程 中不可用。直到 首行輸入完成以后 ,變

量才可用 ??梢酝ㄟ^-v參數(shù),讓awk在執(zhí)行BEGIN之前得到

變量的值。命令行中每一個(gè)指定的變量都需要一個(gè)-v參數(shù)

v示例:

#cat test.awk

#!/bin/awk –f

{if($3 >=min && $3<=max)print $1,$3}

#chmod +x test.awk

#test.awk -F: min=100 max=200 /etc/passwd

awk詳解及舉例

awk詳解及舉例awk詳解及舉例

 

 

當(dāng)前標(biāo)題:awk詳解及舉例
瀏覽地址:http://aaarwkj.com/article8/gihpip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、標(biāo)簽優(yōu)化電子商務(wù)

廣告

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

外貿(mào)網(wǎng)站建設(shè)
欧洲精品亚洲精品日韩专区| 亚洲精品露脸自拍高清在线观看 | 午夜剧场福利在线观看| 四虎影视国产精品久久| 在线国产丝袜自拍观看| 国产三级精品三级专区| 麻豆视传媒官网免费观看| 欧美欧美一区二区三区| 国产精品中文字幕第一页| 亚洲成人av日韩在线| 亚洲一区二区三区四区国产| 老女人性生交大片免费| 欧美黄片网站在线观看| 亚洲品质自拍在线观看| 欧美 国产 综合 日韩| 成人综合影视中文字幕| 色综合色综合蘑菇在线| 欧美一区二区专区在线| 日韩一区二区三区视频在线看| 国产精品1区2区久久久| 亚洲欧美日韩一区中文字幕| 午夜性色在线视频福利| 中文字幕一区侵犯人妻| 久久久久久精品国产av| 青春草草视频在线观看| 国产精品国产三级国产专播精品 | 欧美国产日本日韩在线黄| 亚洲成av人片乱码午夜| 国产精品一区在线免费看| 日本在线高清精品人妻| 国产九色91中文在线视频| 成人黄色一级电影免费看| 黄色录像三级黄色录像三级黄色| 久久日韩制服丝袜人妻| 欧美午夜一级特黄大片| 人妻av在线中文字幕| 国自产偷精品不卡在线观看| 青青草视频免费公开播放| 色婷婷综合五月在线观看| 色综合久久天天射天天干| 久久精品国产亚洲av清纯|