日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

gawk

發(fā)布時(shí)間:2023/12/20 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gawk 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【gawk 是 GNU 的 awk,具有很強(qiáng)的文本處理功能,簡(jiǎn)潔優(yōu)美。】 第一章 前言
第二章 簡(jiǎn)介
第三章 讀取輸入檔案
第四章 印出
第五章 Patterns
第六章 算式(Expression)作為Actions的敘述
第七章 Actions里面的控制敘述
第八章 內(nèi)建函式(Built-in Functions)
第九章 使用者定義的函式
第十章 實(shí)例


=======================================

第一章 前言

awk 是一個(gè)程式語(yǔ)言,對(duì)于文本處理具有很強(qiáng)的功能。對(duì)於文字檔里的資料做修改、比對(duì)、抽取等的處理,awk 能夠以很短的程式
輕易地完成。

awk 能夠依照使用者的定義格式來(lái)分解輸入,也可依照使用者定義的格式來(lái)打印輸出。

awk 名稱(chēng)的由來(lái)是由它的原始設(shè)計(jì)者的姓氏之第一個(gè)字母而命名:Alfred V. Aho, Peter J. Weinberger, Brian W. Kernighan。
awk最初在1977年完成。一個(gè)新版本的awk在1985年被發(fā)表,它的功能比舊版本增強(qiáng)不少。

gawk 是GNU所做的 awk,gawk 最初在1986年完成,之後不斷地被改進(jìn)、更新,gawk 包含 awk 的所有功能。

后面的 gawk 將以下面的2個(gè)輸入檔案來(lái)做例子說(shuō)明。

檔案'BBS-list':
aardvark 555-5553 1200/300 B
alpo-net 555-3412 2400/1200/300 A
barfly 555-7685 1200/300 A
bites 555-1675 2400/1200/300 A
camelot 555-0542 300 C
core 555-2912 1200/300 C
fooey 555-1234 2400/1200/300 B
foot 555-6699 1200/300 B
macfoo 555-6480 1200/300 A
sdace 555-3430 2400/1200/300 A
sabafoo 555-2127 1200/300 C

檔案'shipped':
Jan 13 25 15 115
Feb 15 32 24 226
Mar 15 24 34 228
Apr 31 52 63 420
May 16 34 29 208
Jun 31 42 75 492
Jul 24 34 67 436
Aug 15 34 47 316
Sep 13 55 37 277
Oct 29 54 68 525
Nov 20 87 82 577
Dec 17 35 61 401

Jan 21 36 64 620
Feb 26 58 80 652
Mar 24 75 70 495
Apr 21 70 74 514


第二章 簡(jiǎn)介

gawk 的主要功能是針對(duì)檔案的每一行(line)搜尋指定的 patterns。當(dāng)一行里有符合指定的 patterns,gawk 就會(huì)在此一行執(zhí)行被指定
的 actions。 gawk 依此方式處理輸入檔案的每一行直到輸入檔案結(jié)束。

gawk 程式是由很多的 pattern 與 action 所組成,action 寫(xiě)在大括號(hào) { } 里面,一個(gè)pattern後面就跟著一個(gè)action。整個(gè) gawk 程
式會(huì)像下面的樣子:
pattern {action}
pattern {action}

在 gawk 程式里面的規(guī)則,pattern 或 action 能夠被省略,但是兩個(gè)不能同時(shí)被省略

如果 pattern 被省略,對(duì)於輸入檔里面的每一行,action 都會(huì)被執(zhí)行。如果 action 被省略,內(nèi)定的 action則會(huì)印出所有符合 pattern 的輸入行。


2.1 如何執(zhí)行g(shù)awk程式

基本上,有2個(gè)方法可以執(zhí)行g(shù)awk程式。

如果 gawk 程式很短,則 gawk 可以直接寫(xiě)在 command line

gawk 'program' input-file1 input-file2 ...


如果 gawk 程式較長(zhǎng),較為方便的做法是將 gawk程序放在文件里

gawk -f program-file input-file1 input-file2 ...


gawk 程式的檔案不止一個(gè)時(shí),執(zhí)行g(shù)awk 的格式如下所示:

gawk -f program-file1 -f program-file2 ... input-file1 input-file2 ...


2.2 一個(gè)簡(jiǎn)單的例子

gawk '/foo/ {print $0}' BBS-list


實(shí)際的 gawk 程式為 /foo/ {print $0}。/foo/ 為 pattern,意思為搜尋輸入檔里的每一行是否含有子字串 'foo',如果含有 'foo' 則執(zhí)行 action。
action 為 print $0,是將現(xiàn)在這一行的內(nèi)容印出。BBS-list 是輸入的檔案。
會(huì)印出下面的結(jié)果:
fooey 555-1234 2400/1200/300 B
foot 555-6699 1200/300 B
macfoo 555-6480 1200/300 A
sabafoo 555-2127 1200/300 C

2.3 一個(gè)較復(fù)雜的例子

gawk '$1 == "Feb" {sum=$2+$3} END {print sum}' shipped


現(xiàn)在這個(gè)例子會(huì)將輸入檔 'shipped' 的第一個(gè)欄位與 "Feb" 做比較,如果相等,則其對(duì)應(yīng)的第2欄位與第3欄位的值會(huì)被加到變數(shù) sum。
對(duì)於輸入檔的每一行重復(fù)上述的動(dòng)作,直到輸入檔的每一行都被處理過(guò)為止。最後將 sum 的值印出。END {print sum} 的意思為在所有的輸
入讀完之後,執(zhí)行一次 print sum 的動(dòng)作,也就是把 sum 的值印出。
下面是執(zhí)行的結(jié)果:
84

第三章 讀取輸入檔案

gawk的輸入可以從標(biāo)準(zhǔn)輸入或指定的檔案里讀取。

輸入的讀取單位被稱(chēng)為“記錄”(records),gawk 在做處理時(shí),是一個(gè)記錄一個(gè)記錄地處理。

一個(gè)記錄又被分為多個(gè)字段(fields)。
默認(rèn)情況下,一個(gè)記錄為一行,即一行為單位處理;字段之間以空符號(hào)分隔,空格或者制表符(Tab)

3.1 如何將輸入分解成記錄(records)

gawk 語(yǔ)言會(huì)把輸入分解成記錄(record)。記錄與記錄之間是以record separator 隔開(kāi),record separator 的內(nèi)定值是表示新一行的
字元(newline character),因此內(nèi)定的 record separator 使得文字的每一行是一個(gè)記錄。
record separator 隨著內(nèi)建變數(shù) RS 的改變而改變。RS 是一個(gè)字串,它的內(nèi)定值是"\n"。僅有 RS 的第一個(gè)字元是有效的,它被當(dāng)作 record
separator,而 RS 的其它字元會(huì)被忽略。

內(nèi)建變數(shù) FNR 會(huì)儲(chǔ)存目前的輸入檔案已經(jīng)被讀取的記錄之個(gè)數(shù)。

內(nèi)建變數(shù) NR 會(huì)儲(chǔ)存目前為止所有的輸入檔案已經(jīng)被讀取的記錄之個(gè)數(shù)。


3.2 字段(field)

gawk 會(huì)自動(dòng)將每個(gè)記錄分解成多個(gè)欄位 (field)。類(lèi)似於字在一行里面,gawk 的內(nèi)定動(dòng)作會(huì)認(rèn)為欄位之間是以 whitespace 分開(kāi)。在
gawk 里,whitespace 的意思是一個(gè)或多個(gè)空白或 tabs。
在 gawk 程式里面,以'$1'表示第一個(gè)欄位,'$2'表示第二個(gè)欄位,依此類(lèi)推。$0表示整個(gè)記錄。

舉個(gè)例子,假設(shè)輸入的一行如下所示:

This seems like a pretty nice example.

第一個(gè)欄位或 $1 是'This',第二個(gè)欄位或 $2 是 'seems',依此類(lèi)推。
有個(gè)地方值得特別注意,第七個(gè)欄位或 $7 是'example.'而非'example'。

不論有多少欄位,$NF 可用來(lái)表示一個(gè)記錄的最後一個(gè)欄位。以上面的例子為例,$NF 與 $7 相同,也就是'example.'。

NF 是一個(gè)內(nèi)建變數(shù),它的值表示目前這個(gè)記錄之欄位的個(gè)數(shù)。

下面是一個(gè)較復(fù)雜的例子:

gawk '$1~/foo/ {print $0}' BBS-list


結(jié)果如下:
fooey 555-1234 2400/1200/300 B
foot 555-6699 1200/300 B
macfoo 555-6480 1200/300 A
sabafoo 555-2127 1200/300 C

這個(gè)例子是把輸入檔'BBS-list'的每個(gè)記錄的第一個(gè)欄位作檢查,如果它含有子字串'foo',則這一個(gè)記錄會(huì)被印出。


3.3 如何將記錄分解成欄位

gawk 根據(jù) field separator 將一個(gè)記錄分解成欄位。field separator 以內(nèi)建變數(shù) FS 表示。

舉個(gè)例子,假如 field separator 是'oo',則下面的行:

moo goo gai pan

會(huì)被分成三個(gè)欄位:'m'、' g'、' gai pan'。

在 gawk 程式里,可以使用'='來(lái)改變 FS 的值。例如:

gawk 'BEGIN {FS=","}; {print $2}'


輸入行如下:

John Q. Smith, 29 Oak St., Walamazoo, MI 42139

執(zhí)行g(shù)awk的結(jié)果將印出字串 ' 29 Oak St.'。BEGIN 後面的 action 會(huì)在
第一個(gè)記錄被讀取之前執(zhí)行一次。


第四章 輸出

在gawk程式里,actions 最常做的事就是印出(printing)。簡(jiǎn)單的印出,使用 print敘述。復(fù)雜格式的印出,使用 printf 敘述。

4.1 print敘述

print 敘述用在簡(jiǎn)單、標(biāo)準(zhǔn)的輸出格式。敘述的格式如下所示:

print item1, item2, ...

輸出時(shí),各個(gè) item 之間會(huì)以一個(gè)空白分開(kāi),最後會(huì)換行(newline)。

如果 'print'敘述之後沒(méi)有跟著任何東西,它與'print $0'的效果一樣,它會(huì)印出現(xiàn)在的記錄(record)。

要印出空白行可使用'print ""'。 印出一段固定的文字,可用雙引號(hào)將文字的兩邊括起來(lái),例如

'print "Hello there"'。


4.2 Output Separators

前面我們已提過(guò)如果 print 敘述包含有多個(gè) item,item 之間用逗點(diǎn)分開(kāi),則印出時(shí)各個(gè)item會(huì)被一個(gè)空白隔開(kāi)。你能夠使用任何的字串作為 output field separator,可以經(jīng)由內(nèi)建變數(shù)OFS 的設(shè)定來(lái)更改 output field separator。OFS 的初始值為" ",即一格的空白。
整個(gè) print 敘述的輸出被稱(chēng)為 output record。print 敘述輸出 output record 之後,會(huì)接著輸出一個(gè)字串,此字串稱(chēng)為 output
record separator。內(nèi)建變數(shù) ORS 用來(lái)指明此字串。ORS 的初始值為 "\n",也就是換行。
下面這個(gè)例子會(huì)印出每個(gè)記錄的第一個(gè)欄位和第二個(gè)欄位,此二個(gè)欄位之間以分號(hào)';'分開(kāi),每行輸出之後會(huì)加入一個(gè)空白行。

gawk 'BEGIN {OFS=";"; ORS="\n\n"} {print $1, $2}' BBS-list


結(jié)果如下所示:

aardvark;555-5553

alpo-net;555-3412

barfly;555-7685

bites;555-1675

...

4.3 printf敘述

printf 敘述會(huì)使得輸出格式較容易精確地控制。printf 敘述可以指定每個(gè) item 印出的寬度,也可以指定數(shù)字的各種型式。

printf 敘述的格式如下:

printf format, item1, item2, ...


print 與 printf 的差別是在於 format, printf 的引數(shù)比 print多了字串 format。format 的型式與 ANSI C 的 printf 之格式相同。

printf 并不會(huì)做自動(dòng)換行的動(dòng)作內(nèi)建變數(shù) OFS 與 ORS 對(duì) printf 敘述沒(méi)有任何影響。

格式的指定以字元'%'開(kāi)始,後面接著格式控制字母。
格式控制字母如下所示:

'c' 將數(shù)字以 ASCII 字元印出。例如'printf "%C",65'會(huì)印出字元'A'。
'd' 印出十進(jìn)位的整數(shù)。
'i' 印出十進(jìn)位的整數(shù)。
'e' 將數(shù)字以科學(xué)符號(hào)的形式印出。例如print "$4.3e",1950結(jié)果會(huì)印出'1.950e+03'。
'f' 將數(shù)字以浮點(diǎn)的形式印出。
'g' 將數(shù)字以科學(xué)計(jì)數(shù)法或浮點(diǎn)的形式印出。數(shù)字的絕對(duì)值如果≥0.0001則以浮點(diǎn)的形式印出,否則以科學(xué)符號(hào)的形式印出。
'o' 印出無(wú)號(hào)的八進(jìn)位整數(shù)。
's' 印出一個(gè)字串。
'x' 印出無(wú)號(hào)的十六進(jìn)位整數(shù)。10至15以'a'至'f'表示。
'X' 印出無(wú)號(hào)的十六進(jìn)位整數(shù)。10至15以'A'至'F"表示。
'%' 它并不是真正的格式控制字母,'%%"將印出"%'。


在 % 與格式控制字母之間可加入 modifier,modifier 是用來(lái)進(jìn)一步控制輸出的格式。可能的 modifier 如下所示:

'-' 使用在 width 之前,指明是向左靠齊。如果'-'沒(méi)有出現(xiàn),則會(huì)在被指定的寬度向右靠齊。例如:

printf "%-4S", "foo" 會(huì)印出'foo '。

'width' 這一個(gè)數(shù)字指示相對(duì)應(yīng)的欄位印出時(shí)的寬度。例如:

printf "%4s","foo" 會(huì)印出' foo'。

width 的值是一個(gè)最小寬度而非最大寬度。如果一個(gè) item 的值需要的寬度比 width 大,則不受 width 的影響。例如

printf "%4s","foobar" 將印出'foobar'。

'.prec' 此數(shù)字指定印出時(shí)的精確度

它指定小數(shù)點(diǎn)右邊的位數(shù)。如果是要印出一個(gè)字串,它指定此字串最多會(huì)被印出多少個(gè)字元。


第五章 patterns

在 gawk 程式里面,當(dāng) pattern 符合現(xiàn)在的輸入記錄(record),其相對(duì)應(yīng)的 action 才會(huì)被執(zhí)行。

5.1 Pattern的種類(lèi)

這里對(duì) gawk 的各種 pattern 型式作一整理:

/regular expression/
一個(gè) regular expression 當(dāng)作一個(gè) pattern。每當(dāng)輸入記錄 (record)含有 regular expression 就視為符合。

expression
一個(gè)單一的 expression。當(dāng)一個(gè)值不為 0 或一個(gè)字串不是空的,則可視為符合。

pat1,pat2
一對(duì)的 patterns 以逗號(hào)分開(kāi),指定記錄的圍。

BEGIN
END
這是特別的 pattern, gawk 在開(kāi)始執(zhí)行或要結(jié)束時(shí)會(huì)分別執(zhí)行相對(duì)應(yīng)於BEGIN或END的 action。

null
這是一個(gè)空的pattern,對(duì)於每個(gè)輸入記錄皆視為符合pattern。


5.2 Regular Expressions當(dāng)作Patterns

一個(gè) regular expression 可簡(jiǎn)寫(xiě)為 regexp,是一種描述字串的方法。一個(gè) regular expression 以斜線('/')包圍當(dāng)作 gawk 的 pattern。
如果輸入記錄含有 regexp 就視為符合。例如:pattern 為 /foo/,對(duì)於任何輸入記錄含有'foo'則視為符合。
下面的例子會(huì)將含有'foo'的輸入記錄之第2個(gè)欄位印出。

gawk '/foo/ {print $2}' BBS-list

結(jié)果如下:
555-1234
555-6699
555-6480
555-2127

regexp 也能使用在比較的算式。
exp ~ /regexp/ 如果 exp 符合 regexp,則結(jié)果為真(true)。
exp !~ /regexp/ 如果 exp 不符合 regexp,則結(jié)果為真。


5.3 比較的算式當(dāng)作Patterns

x<y 如果 x 小於 y,則結(jié)果為真。
x<=y 如果 x 小於、等於 y,則結(jié)果為真。
x>y 如果 x 大於 y,則結(jié)果為真。
x>=y 如果 x 大於、等於 y,則結(jié)果為真。
x==y 如果 x 等於 y,則結(jié)果為真。
x!=y 如果 x 不等於 y,則結(jié)果為真。
x~y 如果 x 符合 regular expression y,則結(jié)果為真。
x!~y 如果 x 不符合 regular expression y,則結(jié)果為真。

上面所提到的 x 與 y,如果二者皆是數(shù)字則視為數(shù)字之間的比較,否則它們會(huì)被轉(zhuǎn)換成字串且以字串的形式做比較。兩個(gè)字串的比較,
會(huì)先比較第一個(gè)字元,然後比較第二個(gè)字元,依此類(lèi)推,直到有不同的地方出現(xiàn)為止。如果兩個(gè)字串在較短的一個(gè)結(jié)束之前是相等,則視
為長(zhǎng)的字串比短的字串大。例如 "10" 比 "9" 小,"abc" 比 "abcd" 小。

5.4 使用Bool運(yùn)算的Patterns

一個(gè)布林(boolean) pattern 是使用或('||'),與('&&'),非('!')來(lái)組合其它的pattern。
例如:
gawk '/2400/ && /foo/' BBS-list
gawk '/2400/ || /foo/' BBS-list
gawk '! /foo/' BBS-list


第六章 算式(Expression)作為Actions的敘述

算式(Expression) 是gawk程式里面action的基本構(gòu)成者。

6.1 算術(shù)運(yùn)算
gawk 里的算術(shù)運(yùn)算如下所示:

x+y 加
x-y 減
-x 負(fù)
+x 正。實(shí)際上沒(méi)有任何影響。
x*y 乘
x/y 除
x%y 求馀數(shù)。例如 5%3=2。
x^y
x**y x 的 y 次方。例如2^3=8。

6.2 比較算式與布林算式
比較算式 (comparison expression) 用來(lái)比較字串或數(shù)字的關(guān)系,運(yùn)算符號(hào)與 C 語(yǔ)言相同。表列如下:

x<y ,x<=y
x>y,x>=y
x==y,x!=y
x~y , x!~y

比較的結(jié)果為真(true)則其值是 1。否則其值是 0。布林算式(boolean expression)有下面三種:

boolean1 && boolean2
boolean1 || boolean2
! boolean



6.3 條件算式(Conditional Expressions)

一個(gè)條件式算式是一種特別的算式,它含有3個(gè)運(yùn)算元。條件式算式與C語(yǔ)言的相同:

selector ? if-true-exp : if-false-exp

它有3個(gè)子算式。第一個(gè)子算式selector 首先會(huì)被計(jì)算。

如果是真,則if-true-exp會(huì)被計(jì)算且它的值變成整個(gè)算式的值。否則if-false-exp 會(huì)被計(jì)算且它的值變成整個(gè)算式的值。

第七章 Actions里面的控制敘述

在 gawk 程式里面,控制敘述諸如 if、while 等控制程式執(zhí)行的流程。在 gawk 里的控制敘述與 C 的類(lèi)似。
很多的控制敘述會(huì)包括其它的敘述,被包括的敘述稱(chēng)為 body。假如 body 里面包括一個(gè)以上的敘述,必須以大括弧 { } 將這些敘述括起
來(lái),而各個(gè)敘述之間需以換行(newline)或分號(hào)隔開(kāi)。

7.1 if 敘述

if (condition) then-body [else else-body]

舉一個(gè)例子如下:
if (x % 2 == 0)
print "x is even"
else
print "x is odd"

7.2 while 敘述

while (condition)
body

下面的例子會(huì)印出每個(gè)輸入記錄(record)的前三個(gè)欄位。

gawk '{ i=1
while (i <= 3) {
print $i
i++
}
}'

7.3 do-while 敘述

do
body
while (condition)

下面的例子會(huì)印出每個(gè)輸入記錄十次。

gawk '{ i= 1
do {
print $0
i++
} while (i <= 10)
}'



7.4 for 敘述

for (initialization; condition; increment)
body

下面的例子會(huì)印出每個(gè)輸入記錄的前三個(gè)欄位。

gawk '{ for (i=1; i<=3; i++)
print $i
}'

7.5 break 敘述

break 敘述會(huì)跳出包含它的 for、while、do-while 回圈的最內(nèi)層。下面的例子會(huì)找出任何整數(shù)的最小除數(shù),它也會(huì)判斷是否為質(zhì)數(shù)。

gawk '# find smallest divisor of num
{ num=$1
for (div=2; div*div <=num; div++)
if (num % div == 0)
break
if (num % div == 0)
printf "Smallest divisor of %d is %d\n", num, div
else
printf "%d is prime\n", num }'

7.6 continue 敘述

continue 敘述使用於 for、while、do-while 回圈內(nèi)部,它會(huì)跳過(guò)回圈 body 的剩馀部分,使得它立刻進(jìn)行下一次回圈的執(zhí)行。

下面的例子會(huì)印出 0 至 20 的全部數(shù)字,但是 5 并不會(huì)被印出。

gawk 'BEGIN {
for (x=0; x<=20; x++) {
if (x==5)
continue
printf ("%d",x)
}
print ""
}'

7.7 next 敘述、next file 敘述、exit 敘述

next 敘述強(qiáng)迫 gawk 立刻停止處理目前的記錄(record)而繼續(xù)下一個(gè)記錄。
next file 敘述類(lèi)似 next。然而,它強(qiáng)迫 gawk 立刻停止處理目前的資料檔。
exit 敘述會(huì)使得 gawk 程式停止執(zhí)行而跳出。然而,如果 END 出現(xiàn),它會(huì)去執(zhí)行 END 的 actions。


第八章 內(nèi)建函式(Built-in Functions)

內(nèi)建函式是 gawk 內(nèi)建的函式,可在 gawk 程式的任何地方呼叫內(nèi)建
函式。


8.1 數(shù)值方面的內(nèi)建函式

int(x) 求出 x 的整數(shù)部份,朝向 0 的方向做舍去。例如:int(3.9)是 3,int(-3.9) 是 -3。
sqrt(x) 求出 x 正的平方根值。例 sqrt(4)=2
exp(x) 求出 x 的次方。例 exp(2) 即是求 e*e 。
log(x) 求出 x 的自然對(duì)數(shù)。
sin(x) 求出 x 的 sine 值,x 是弳度量。
cos(x) 求出 x 的 cosine 值,x 是弳度量。
atan2(y,x) 求 y/x 的 arctangent 值,所求出的值其單位是弳度量。
rand() 產(chǎn)生(0, 1)的隨機(jī)數(shù)。
srand(x) 設(shè)定 seed 為 x。


8.2 字串方面的內(nèi)建函式

index(in, find) 它會(huì)在字串 in 里面,尋找字串 find 第一次出現(xiàn)的位置。找不到則返回0。
length(string)

match(string,regexp)
match 函式會(huì)在字串 string 里面,尋找符合 reg的最長(zhǎng)最靠左邊的子字串 index值。match 函式會(huì)設(shè)定內(nèi)在變數(shù) RSTART 等於 index,它也會(huì)設(shè)定內(nèi)在變數(shù) RLENGTH 等於符合的字元個(gè)數(shù)。如果不符合,則會(huì)設(shè)定 RSTART 為0、RLENGTH 為 -1。

sprintf(format,expression1,...) 返回字串。

sub(regexp, replacement,target)
在字串 target 里面,尋找符合 regexp 的最長(zhǎng)、最靠左邊的地方,以字串 replacement 代替最左邊的 regexp。
例如:
str = "water, water, everywhere"
sub(/at/, "ith",str)
結(jié)果字串str會(huì)變成
"wither, water, everywhere"

gsub(regexp, replacement, target)
gsub 與前面的 sub 類(lèi)似。在字串 target 里面,尋找符合 regexp 的所有地方,以字串 replacement 代替所有的 regexp。
例如:
str="water, water, everywhere"
gsub(/at/, "ith",str)
結(jié)果字串str會(huì)變成
'wither, wither, everywhere"

substr(string, start, length)
傳回字串 string 的子字串,這個(gè)子字串的長(zhǎng)度為 length 個(gè)字元,從第 start 個(gè)位置開(kāi)始。

tolower(string)
將字串string的大寫(xiě)字母改為小寫(xiě)字母。
例如:
tolower("MiXeD cAsE 123")
傳回值為"mixed case 123"

toupper(string)
將字串string的小寫(xiě)字母改為大寫(xiě)字母。
例如:
toupper("MiXeD cAsE 123")
傳回值為"MIXED CASE 123"


8.3 輸入輸出的內(nèi)建函式

close(filename)
將輸入或輸出的檔案 filename 關(guān)閉。

system(command)
此函式允許使用者執(zhí)行作業(yè)系統(tǒng)的指令,執(zhí)行完畢後將回到 gawk
程式。
例如:
BEGIN {system("ls")}


第九章 使用者定義的函式(User-defined Functions)

復(fù)雜的 gawk 程式常常可以使用自己定義的函式來(lái)簡(jiǎn)化。呼叫使用者定義的函式與呼叫內(nèi)建函式的方法一樣。


9.1 函式定義的格式

函式的定義可以放在 gawk 程式的任何地方。
一個(gè)使用者定義的函式其格式如下:

function name (parameter-list) {
body-of-function
}

name 是所定義的函式之名稱(chēng)。一個(gè)正確的函式名稱(chēng)可包括一序列的字母、數(shù)字、下標(biāo)線 (underscores),但是不可用數(shù)字做開(kāi)頭。

parameter-list 是列出函式的全部引數(shù)(argument),各個(gè)引數(shù)之間以逗點(diǎn)隔開(kāi)。

body-of-function 包含 gawk 的敘述 (statement)。它是函式定義里最重要的部份,它決定函式實(shí)際要做何種事。


9.2 函式定義的例子

下面這個(gè)例子,會(huì)將每個(gè)記錄的第一個(gè)欄位之值的平方與第二個(gè)
欄位之值的平方加起來(lái)。

{print "sum =",SquareSum($1,$2)}
function SquareSum(x,y) {
sum=x*x+y*y
return sum
}


第十章 實(shí)例

這里將列出 gawk 程式的一些例子。

gawk '{if (NF > max) max = NF}
END {print max}'
此程式會(huì)印出所有輸入行之中,欄位的最大個(gè)數(shù)。

gawk 'length($0) > 80'
此程式會(huì)印出一行超過(guò) 80 個(gè)字元的每一行。此處只有 pattern 被
列出,action 是采用內(nèi)定的 print。

gawk 'NF > 0'
對(duì)於擁有至少一個(gè)欄位的所有行,此程式皆會(huì)印出。這是一個(gè)簡(jiǎn)
單的方法,將一個(gè)檔案里的所有空白行刪除。

gawk '{if (NF > 0) print}'
對(duì)於擁有至少一個(gè)欄位的所有行,此程式皆會(huì)印出。這是一個(gè)簡(jiǎn)
單的方法,將一個(gè)檔案里的所有空白行刪除。

gawk 'BEGIN {for (i = 1; i <= 7; i++)
print int(101 * rand())}'
此程式會(huì)印出□圍是 0 到 100 之間的 7 個(gè)亂數(shù)值。

ls -l files | gawk '{x += $4}; END {print "total bytes: " x}'
此程式會(huì)印出所有指定的檔案之bytes數(shù)目的總和。

expand file | gawk '{if (x < length()) x = length()}
END {print "maximum line length is " x}'
此程式會(huì)將指定檔案里最長(zhǎng)一行的長(zhǎng)度印出。expand 會(huì)將 tab 改
成 space,所以是用實(shí)際的右邊界來(lái)做長(zhǎng)度的比較。

gawk 'BEGIN {FS = ":"}
{print $1 | "sort"}' /etc/passwd
此程式會(huì)將所有使用者的login名稱(chēng),依照字母的順序印出。

gawk '{nlines++}
END {print nlines}'
此程式會(huì)將一個(gè)檔案的總行數(shù)印出。

gawk 'END {print NR}'
此程式也會(huì)將一個(gè)檔案的總行數(shù)印出,但是計(jì)算行數(shù)的工作由gawk
來(lái)做。

gawk '{print NR,$0}'
此程式印出檔案的內(nèi)容時(shí),會(huì)在每行的最前面印出行號(hào),它的功
能與 'cat -n' 類(lèi)似。

總結(jié)

以上是生活随笔為你收集整理的gawk的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

碰超人人| 日韩精品网址 | 美女视频黄的免费的 | bbbbb女女女女女bbbbb国产 | 欧美一级免费片 | 婷婷六月久久 | 99久热在线精品视频 | 国产福利一区二区三区视频 | 国产精品mv在线观看 | 夜夜躁日日躁狠狠久久av | 亚洲另类视频在线 | 一区二区精品在线视频 | 成人97人人超碰人人99 | 久久久久久久久久久网站 | 国产黄色看片 | 免费视频黄色 | av在线免费播放 | 日韩亚洲国产中文字幕 | 麻豆传媒视频在线 | 十八岁以下禁止观看的1000个网站 | 99精品免费久久久久久久久 | 亚洲国产美女久久久久 | 天天射天天艹 | caobi视频 | 亚洲午夜久久久影院 | 二区精品视频 | 欧美精品乱码久久久久 | 91伊人| 爱av在线网| 国产国语在线 | 中文十次啦 | 国产 在线 高清 精品 | 黄影院 | 国产一级特黄电影 | 97精品久久人人爽人人爽 | 成人av影视在线 | 麻豆一区在线观看 | 欧美日韩天堂 | www视频免费在线观看 | 国产91亚洲 | 色视频在线免费 | 色婷婷色 | 欧美久久影院 | 久久99热久久99精品 | 人人澡人人爽 | 色欲综合视频天天天 | 国产一级在线免费观看 | 婷婷日日 | 国产在线自 | 91天天操| 97碰碰视频| 欧美一级日韩三级 | 久久综合日 | 99久久99久久精品 | 天天操夜夜操夜夜操 | 91亚洲影院 | 中文字幕日韩有码 | 五月天综合色 | 大荫蒂欧美视频另类xxxx | 香蕉蜜桃视频 | 久久草av | 久久99九九99精品 | 精品在线观看视频 | 成年人精品| 久久久麻豆视频 | 91av播放 | 国产精品99久久久久人中文网介绍 | 久久国产经典 | 精品国产一区二区三区噜噜噜 | 丁香五婷| 久久艹免费 | 精品国产一区二区三区噜噜噜 | 日韩成人免费观看 | 成年人在线观看免费视频 | 色就色,综合激情 | 国产精品视频app | 波多野结衣在线观看一区 | 成人免费看片98欧美 | 日韩免费在线一区 | 色网av| 欧美精品亚洲二区 | 91在线porny国产在线看 | www.av中文字幕.com | 中文字幕日韩一区二区三区不卡 | 欧美伦理一区 | 日日草夜夜操 | 成年人免费在线观看 | 中文字幕在线播放一区二区 | 视频一区二区国产 | 成人97人人超碰人人99 | 中文在线字幕观看电影 | 在线观看成年人 | 成人国产精品 | 日韩国产精品毛片 | 五月婷婷影视 | 黄色av一区 | 久久久久国产精品免费网站 | 日韩精品1区2区 | 中文字幕成人 | 久久精品视频播放 | 一区二区欧美日韩 | 亚洲综合激情网 | 国产亚洲精品久 | av黄色免费网站 | 黄色一级在线观看 | 欧美在线一二区 | 6080yy午夜一二三区久久 | 国产一级电影 | 亚洲精品美女久久久 | 国产精品正在播放 | 日韩动态视频 | 99热这里只有精品在线观看 | 91香蕉视频污在线 | 91人人爽人人爽人人精88v | 国产精品成人品 | 中国一级片在线观看 | 色婷婷激情五月 | 国产成人一级电影 | 久草在线资源视频 | 午夜999 | 狠狠色伊人亚洲综合网站色 | 毛片美女网站 | 在线播放精品一区二区三区 | 最新中文字幕视频 | 2019中文字幕第一页 | 久久久久久久久久久精 | 500部大龄熟乱视频使用方法 | 精品电影一区二区 | 久草手机视频 | 日本韩国精品在线 | 日韩美视频 | 六月激情网 | 成人免费网站视频 | 国产黄色资源 | 久久这里有精品 | 久久好看免费视频 | 欧美日韩在线观看一区二区 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 麻豆一二 | 三上悠亚一区二区在线观看 | 久久中文精品视频 | 日本激情视频中文字幕 | 在线精品视频在线观看高清 | 成人av影视在线 | 91探花系列在线播放 | 夜夜高潮夜夜爽国产伦精品 | 亚洲成 人精品 | 亚洲aⅴ在线观看 | 999在线视频 | 最新日韩在线观看 | 91精品在线观看视频 | 九月婷婷人人澡人人添人人爽 | 欧美极品xxxxx | 操老逼免费视频 | 欧美一区二区三区不卡 | 在线观看日韩精品视频 | 精品伊人久久久 | av免费看电影 | 久草在线久草在线2 | 日本免费久久高清视频 | 国产精品视频地址 | 天天操天天玩 | 亚洲另类在线视频 | 亚洲精品免费在线观看视频 | 国内精品视频免费 | 高潮久久久久久 | 天堂在线一区 | 日本久久久影视 | 中文字幕一区二区在线播放 | 欧美久久久一区二区三区 | japanesexxxhd奶水 国产一区二区在线免费观看 | 国产成人免费观看 | 国产99久久九九精品 | 亚洲精品久久久久58 | 韩国精品视频在线观看 | 国产在线久久久 | 人人看人人爱 | 99久久久国产精品美女 | av电影免费看 | 日韩在线免费电影 | 日韩精品一区二区在线观看视频 | 国产精品久久久久三级 | 亚洲天堂精品视频 | 亚洲精品日韩av | 成人一区二区三区在线观看 | 亚洲一区视频免费观看 | 午夜久久久影院 | a天堂一码二码专区 | 国产精品手机视频 | 狠狠色丁香婷婷综合橹88 | 久久精品一 | 欧美一区二区三区免费观看 | 91在线免费观看网站 | 久久综合九色综合久久久精品综合 | 99久久超碰中文字幕伊人 | 亚洲国产天堂av | 免费看色网站 | 日韩国产在线观看 | 日韩av女优视频 | a级国产乱理论片在线观看 特级毛片在线观看 | 黄色片软件网站 | 成人app在线播放 | 色在线高清 | 在线播放你懂 | 亚洲免费视频在线观看 | 国产精品久久嫩一区二区免费 | 亚洲电影一区二区 | 97色国产 | 91自拍视频在线 | 国内精品久久久久久久影视简单 | 日韩欧美电影在线 | 婷婷色影院| 天天射天天射天天 | 中文日韩在线视频 | 一区免费观看 | 国产在线看 | 国产精品久久伊人 | 黄色动态图xx | 亚洲精品综合一二三区在线观看 | 人人干人人超 | 久久九九网站 | 伊人五月综合 | 欧美一二三区在线播放 | 四虎国产精品免费观看视频优播 | 天天艹天天干天天 | 女人高潮一级片 | 字幕网资源站中文字幕 | 精品国产视频在线 | 亚洲免费公开视频 | a极黄色片 | 欧美另类交人妖 | 成在人线av| 精品夜夜嗨av一区二区三区 | 五月天婷婷免费视频 | 久久手机看片 | 天天操天天色天天射 | 精品久久久久久亚洲综合网站 | 在线之家官网 | 日本不卡123区 | 久久视频在线免费观看 | 日韩在线播放av | 最近日本mv字幕免费观看 | 精品久久久久久亚洲 | 久久精品99国产精品日本 | 国产高清视频在线播放一区 | 成人av av在线 | 天天干天天天 | 日日爱999| 欧美日韩在线观看一区二区三区 | 国产91精品在线播放 | 麻豆成人在线观看 | 免费在线一区二区 | 日韩高清不卡在线 | 综合网成人 | 日日夜夜噜 | 综合网中文字幕 | 最近最新mv字幕免费观看 | 怡红院成人在线 | 国产伦精品一区二区三区高清 | 亚州精品一二三区 | 久久狠狠亚洲综合 | 91丨九色丨蝌蚪丨老版 | 男女视频91| 日本午夜在线亚洲.国产 | 亚洲综合在线视频 | 日韩欧美一级二级 | 精品久久久99| 国产福利免费在线观看 | 久久精品91久久久久久再现 | 最新中文字幕在线观看视频 | 日韩精品网址 | 亚洲黄色一级电影 | 国产精品一区二区在线播放 | 欧美日韩三级在线观看 | 成人午夜电影在线播放 | 免费视频二区 | 18pao国产成视频永久免费 | 色吊丝在线永久观看最新版本 | 91插插视频 | 久久av中文字幕片 | 欧美精品国产综合久久 | 久久久久久久久久久影视 | 精品亚洲男同gayvideo网站 | 久草视频在线资源站 | 精品国产一区二区三区在线观看 | 国产成人精品一区二区三区福利 | 激情综合亚洲 | 在线91视频 | 久久综合99 | 日韩女同av | 日韩av图片 | av官网在线 | 日批在线观看 | 亚洲精品 在线视频 | 狠狠色丁香婷婷综合视频 | 国产视频精品久久 | 精品国产亚洲一区二区麻豆 | 国产成人一区二区精品非洲 | 日韩国产欧美在线视频 | 国产精品欧美久久久久天天影视 | 亚洲乱码精品久久久 | 久久96国产精品久久99漫画 | 国产精品一区免费观看 | 久久99精品国产麻豆婷婷 | 奇米7777狠狠狠琪琪视频 | 精品国产一区二区三区四区在线观看 | av中文字幕在线免费观看 | 中文国产在线观看 | 国产精品久久久久av免费 | 大型av综合网站 | 精品99在线观看 | 一本到视频在线观看 | 99九九视频 | 四虎国产永久在线精品 | 国产99精品在线观看 | 在线看一区 | 91mv.cool在线观看 | 啪啪凸凸 | 久久这里只有精品视频首页 | 中文字幕久久精品 | 人人爽人人爽人人片av | 日韩首页 | 91精品国产99久久久久 | 久久久久久免费视频 | 日本精品久久久一区二区三区 | 免费a级黄色毛片 | 国产成人一区二区三区在线观看 | 免费视频黄 | 日韩av区 | 国产一二三区在线观看 | 日韩三级一区 | 久久久99精品免费观看乱色 | 亚洲精品乱码久久久久久蜜桃不爽 | 亚洲色图av | 久久免费视频国产 | 天天综合色 | 97视频在线观看视频免费视频 | 中文字幕资源在线观看 | 日韩 国产 | 一区二区三区在线免费观看 | 日韩小视频 | 中文字幕免费观看视频 | 青青久草在线视频 | 久久久久久久久久久网 | 色天天中文 | 免费看成人a | 亚洲九九爱 | 婷婷在线观看视频 | 玖玖在线免费视频 | 亚洲免费激情 | 国产激情小视频在线观看 | 五月花丁香婷婷 | 天天操天天拍 | 人成在线免费视频 | 96视频免费在线观看 | 国产在线观看免 | 色婷婷久久一区二区 | 亚在线播放中文视频 | 久久av免费 | 色综合久久88色综合天天 | 91九色最新地址 | 免费黄色网止 | 日韩在线视频线视频免费网站 | 国产精品99久久久久久武松影视 | 日韩av视屏 | 国产小视频你懂的 | 在线黄色av | 免费观看完整版无人区 | 超碰在线观看97 | 中文字幕 国产专区 | 欧美少妇影院 | 天天爱天天射天天干天天 | 亚洲手机av | 国产精品一区电影 | 丁香六月天婷婷 | 免费男女网站 | 日本bbbb摸bbbb | 国产日韩av在线 | 福利一区二区在线 | 久草在线精品观看 | 99在线视频免费观看 | 亚洲视频99 | 97在线影院 | 成年人在线免费视频观看 | 视频精品一区二区三区 | 草久草久| 日韩久久久久久久久久 | 国产精品久久久久久久妇 | 久久精品a | 免费看在线看www777 | 久久国产精品网站 | 久久精品久久久久久久 | 久久精品亚洲精品国产欧美 | 96久久欧美麻豆网站 | 国产午夜不卡 | 亚洲免费av在线 | 日韩精品一区二区三区在线视频 | 欧美日韩久久久 | 中文字幕色在线视频 | 黄色三级免费观看 | 4438全国亚洲精品观看视频 | 中文字幕观看视频 | 免费a级黄色毛片 | 97超碰福利久久精品 | 91久久国产综合精品女同国语 | 精品国产欧美一区二区三区不卡 | 97视频免费在线 | 夜夜操狠狠干 | 国产福利91精品 | 国产精品一区在线播放 | 亚洲黄色网络 | 国产三级视频 | 久草在线资源网 | 婷婷丁香导航 | 91成人破解版 | 亚洲免费成人 | 91在线观看视频网站 | av在线短片 | 在线观看中文字幕一区 | 久草com| 婷婷国产在线观看 | 国产91精品一区二区绿帽 | 欧美美女一级片 | 四虎最新入口 | 欧美与欧洲交xxxx免费观看 | www久久com| 精品一区二区在线免费观看 | 99精品网站 | 日韩在线免费视频 | 96超碰在线| 久久激情影院 | 最近2019好看的中文字幕免费 | 日韩网站视频 | 国产成人精品999在线观看 | 日韩精品aaa | 成人小视频在线 | 久青草视频在线观看 | 亚洲视频免费视频 | 亚洲精品乱码久久 | 婷婷六月色 | 成人一级电影在线观看 | 国产成人精品国内自产拍免费看 | 国产视频色 | 91天堂影院 | 九九精品视频在线 | 久久精品在线免费观看 | 免费看久久久 | av天天草| 国产亚洲视频在线 | 808电影免费观看三年 | 亚洲aaa级 | 免费视频你懂得 | 狠狠久久婷婷 | 成人国产精品免费观看 | 91精品国产成人www | 97国产小视频 | 日韩网站免费观看 | 久久婷婷五月综合色丁香 | 欧美日韩国产精品一区二区三区 | 在线一区av| 午夜婷婷在线观看 | 91av在线免费观看 | 国产精品五月天 | 一区二区三区动漫 | 久久撸在线视频 | 国产69精品久久99的直播节目 | 天天天操操操 | 伊人色综合久久天天网 | 97视频在线免费播放 | 中文字幕在线观看视频一区二区三区 | 亚洲精品视频在线观看免费 | av在线永久免费观看 | 国产精品久久久久久久午夜 | 一级特黄aaa大片在线观看 | 999毛片| 日韩久久精品一区二区三区下载 | 99热这里有 | 丁香六月激情 | 亚洲精品黄 | 午夜精品一区二区三区在线观看 | 天天干天天操天天入 | 天天色中文 | 天堂成人在线 | 欧洲亚洲精品 | 日本护士三级少妇三级999 | 中文字幕免费中文 | 久久伊人国产精品 | 国产高清不卡在线 | 中文字幕观看视频 | 日韩激情免费视频 | 国产色拍 | 91九色视频网站 | 午夜天使 | 黄色片软件网站 | 国产精品久久久久久久久蜜臀 | 97激情影院 | 日韩精品中文字幕在线 | www.夜夜操| 国产精品白浆 | 久草在线免 | 亚洲一区二区三区四区在线视频 | 一区二区三区四区久久 | 不卡av电影在线 | 成人天堂网 | www狠狠操| 欧美在线观看视频免费 | a亚洲视频 | 91在线视频播放 | 日韩在线免费看 | 特级西西www44高清大胆图片 | 日本黄色免费网站 | 99婷婷| 成人中心免费视频 | 久久精品播放 | 黄p网站在线观看 | av网站有哪些 | 狠狠色丁香婷婷综合橹88 | 99久在线精品99re8热视频 | 久久精品综合 | 久久婷婷综合激情 | 激情丁香 | 在线免费观看一区二区三区 | 久久精品美女视频 | a国产精品 | 97视频在线观看视频免费视频 | 欧美aaa大片| 999成人网 | 美女一区网站 | 国产精品一区二区三区视频免费 | 国产精品福利午夜在线观看 | 国产99久久九九精品免费 | 国产色拍拍拍拍在线精品 | av片在线观看免费 | 天天操天天射天天添 | 免费 在线 中文 日本 | 五月综合网站 | av中文天堂 | wwwav视频| 2023国产精品自产拍在线观看 | 免费在线观看的av网站 | 91在线91 | 97成人资源站 | 亚洲综合在线播放 | 日韩中文字幕91 | 一级理论片在线观看 | 成人91在线观看 | www.亚洲视频.com| 亚洲成av | 精品国产视频在线观看 | 久久五月激情 | 国产a免费| 久热电影 | 色综合久久久久综合体桃花网 | 国产成人精品午夜在线播放 | 91视频免费观看 | 欧美激情综合五月色丁香 | 天天av综合网 | 国内成人精品2018免费看 | 玖玖在线免费视频 | 人人澡人| 久久精品波多野结衣 | 欧美日韩精品免费观看视频 | 99热这里只有精品久久 | 91在线视频一区 | 99精品区| 国产亚洲成人精品 | 在线免费黄网站 | 国产精品自产拍在线观看蜜 | 狠狠躁18三区二区一区ai明星 | 久色网 | 国产精品免费视频一区二区 | 在线观看成年人 | 中文字幕日韩在线播放 | 狠狠色综合欧美激情 | 91亚洲狠狠婷婷综合久久久 | 国产视频一二三 | 亚洲一区二区三区91 | 麻花豆传媒mv在线观看网站 | 五月婷婷丁香在线观看 | 日韩欧美精品在线观看视频 | 国产免费一区二区三区网站免费 | 91视频免费网址 | 久久久久久久久久久久久国产精品 | 欧美国产精品久久久久久免费 | 国产色视频网站 | 亚洲 综合 激情 | 久久久久9999亚洲精品 | www狠狠操 | 免费观看久久 | 日韩女同av| 97超级碰碰 | 日韩极品在线 | 在线观看中文字幕一区 | 最新极品jizzhd欧美 | 国产精品涩涩屋www在线观看 | 日本巨乳在线 | 精品电影一区二区 | 国产一区二区三区 在线 | 一区二区三区免费在线观看视频 | 国产不卡在线观看 | 99色在线视频 | 久久激五月天综合精品 | 精品国产伦一区二区三区观看体验 | 天天干天天玩天天操 | 久久精品国产99国产 | 国产精品夜夜夜一区二区三区尤 | 成人午夜黄色影院 | 三级在线视频播放 | 欧美日韩国产精品一区二区三区 | 亚洲毛片视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 青青草华人在线视频 | 成人黄色大片在线观看 | 久久一久久 | 99免费精品 | 激情综合色图 | 国产99久久精品一区二区永久免费 | 国产国语在线 | 日本久久久久久久久久 | 一级黄色片在线播放 | av888av.com| 色综合婷婷 | 国产伦精品一区二区三区照片91 | 国产精品麻豆三级一区视频 | 日日夜夜精品视频天天综合网 | 亚洲午夜精品一区 | 中文字幕资源在线观看 | 精品视频97| 黄色三级久久 | 一级性生活片 | 一区二区精 | 美女视频黄频大全免费 | 成人午夜片av在线看 | 免费a v在线 | 色香天天 | 国产小视频网站 | 日韩精品久久久久久中文字幕8 | 亚洲一区美女视频在线观看免费 | 日日爽天天爽 | 91热在线| 中文字幕中文字幕 | 色亚洲网| 不卡电影一区二区三区 | 欧美激情第八页 | 一本一本久久a久久精品综合妖精 | 亚洲国产精品久久久久 | 国产精品99爱 | 黄色电影网站在线观看 | 9在线观看免费 | 欧美日韩一区二区三区在线免费观看 | 亚洲人成在线观看 | 国产亚洲精品精品精品 | 1024在线看片| 久久久午夜视频 | 成人黄色在线 | 99精品欧美一区二区三区 | 欧美久久久一区二区三区 | 亚洲一区二区三区四区在线视频 | 免费观看黄色av | 欧美另类tv | 成人在线观看资源 | 中文av免费 | 视频在线91 | 久久久久亚洲精品 | 日韩簧片在线观看 | 亚洲国产中文在线观看 | 欧美激情奇米色 | 国产在线精品区 | 亚洲综合在线五月 | a视频免费看 | 国产亚洲精品久久久久久网站 | 99久久99久久精品免费 | 最新午夜电影 | 天天爱天天 | 91av视频 | 精品国产一区二区三区四区在线观看 | 国产九色在线播放九色 | 三级免费黄色 | 996久久国产精品线观看 | www色av| 日韩综合视频在线观看 | 精品高清视频 | 日本在线观看一区二区 | 蜜桃视频在线观看一区 | 国产一区二区三区 在线 | 欧美一级久久久久 | 国内精品福利视频 | 婷婷综合在线 | 精品久久久久久综合日本 | 国产精品淫 | 久久久三级视频 | 不卡的一区二区三区 | 久久国产美女视频 | 人人干网站 | 国产小视频在线看 | 男女视频久久久 | 亚洲乱码在线 | 国产精品二区在线 | 999热线在线观看 | 婷婷色综合色 | 久久99日韩 | 久久理伦片 | 欧美日韩国产一区二区三区 | 特黄一级毛片 | 国产日韩中文在线 | 欧美一区三区四区 | 国产精品久久久久久久久久久久午夜 | 奇米影视777影音先锋 | 亚洲第一中文字幕 | 五月天激情视频在线观看 | 久久九九国产精品 | 麻豆av电影 | 国产精彩在线视频 | 久草免费在线视频 | 精品国产乱码久久久久久1区二区 | 免费在线观看成人 | 在线日韩中文字幕 | 欧美一区影院 | 一区 二区电影免费在线观看 | 精油按摩av | 久久久久久中文字幕 | 亚洲精品在线观看视频 | 成人影片在线免费观看 | 极品嫩模被强到高潮呻吟91 | 国产精品1区2区3区在线观看 | 天天爽夜夜爽人人爽一区二区 | 四虎影视欧美 | 六月天综合网 | 91av视频在线免费观看 | 国产糖心vlog在线观看 | 最近日本韩国中文字幕 | av在线播放中文字幕 | 国产成人黄色网址 | www五月天com | 丁香六月欧美 | 亚洲精品小视频 | 久一网站 | 中文字幕美女免费在线 | 在线观看日韩国产 | 久久九九国产精品 | 天天在线免费视频 | 亚洲乱码在线 | 久久激情五月丁香伊人 | 美女精品在线 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 丁香婷婷基地 | 久久久精品网站 | 亚洲天堂精品视频在线观看 | 一区二区三区精品久久久 | 久黄色 | 久久精品视频网 | 九九视频在线播放 | 国产在线精品一区二区不卡了 | 在线电影91 | 天天搞天天 | 中文字幕日韩高清 | 国产精品女 | 手机成人免费视频 | 久久精品免费看 | 日韩大片在线免费观看 | 午夜的福利 | 在线观看你懂的网站 | 国产精品自在线 | 欧美性大战| 国产精品一区二区精品视频免费看 | 丝袜美腿一区 | 青青河边草观看完整版高清 | 欧美日韩中文国产 | 成年人在线免费看片 | 亚洲第一中文字幕 | 超级碰99| 日日摸日日添夜夜爽97 | 亚洲人视频在线 | 久久久www成人免费毛片麻豆 | 黄色精品一区 | 午夜久久久影院 | 国产精品涩涩屋www在线观看 | 999亚洲国产996395| 成人在线中文字幕 | 国产91电影在线观看 | 亚洲成a人片77777潘金莲 | 久久久av电影 | 亚洲视频在线播放 | 日日夜夜操操操操 | 狠狠操在线| 99九九热只有国产精品 | 日韩免费观看一区二区三区 | 国产激情小视频在线观看 | 麻豆一精品传二传媒短视频 | 在线 日韩 av | 国产精品美乳一区二区免费 | 国产精品涩涩屋www在线观看 | 日韩精品91偷拍在线观看 | 91看国产| 久久人人爽人人爽人人片av软件 | 91国内在线 | 国产精品一区一区三区 | 天天激情天天干 | 日韩在线精品一区 | 免费观看国产精品视频 | 国产亚洲综合性久久久影院 | 日p视频在线观看 | 中文字幕一区二区三区四区在线视频 | 97综合在线 | 精品久久久久久亚洲综合网 | 久久综合九色综合97婷婷女人 | 黄色大片视频网站 | 成人免费看片98欧美 | 日本99干网 | 有码视频在线观看 | av电影在线免费观看 | 国产精品免费看 | 免费av观看 | www.久久视频 | 欧美一级日韩免费不卡 | 国产麻豆精品在线观看 | 日韩精品免费在线 | 久久久精品一区二区三区 | 国内精品久久久久久久久 | 91精品啪在线观看国产线免费 | 国产一区欧美日韩 | 在线a视频免费观看 | 精品产品国产在线不卡 | 操操操日日日干干干 | 日韩三级中文字幕 | 韩国三级av在线 | 91成人免费电影 | 手机av在线免费观看 | 在线亚洲天堂网 | 亚洲精品字幕在线观看 | 久久精品xxx | 2019中文 | 国产色资源| 97色婷婷成人综合在线观看 | 成人三级网站在线观看 | 黄色a在线观看 | 亚洲人成人天堂h久久 | 欧美乱码精品一区二区 | 国产成人精品免高潮在线观看 | 欧美高清视频不卡网 | 91麻豆精品国产91久久久久 | 国偷自产视频一区二区久 | 久久久伊人网 | 欧美精品一区二区在线观看 | 一区二区三区四区精品视频 | 久久久久久免费视频 | 日韩久久精品一区二区三区下载 | 亚洲成人精品在线 | 国产打女人屁股调教97 | 69国产在线观看 | 亚洲永久精品视频 | 成年美女黄网站色大片免费看 | 国产综合在线观看视频 | 伊人天天干 | 日韩欧美精品在线观看视频 | 天天天天天天天天操 | 亚洲狠狠操 | 少妇按摩av | 国产性xxxx | 在线欧美日韩 | 日本女人在线观看 | 午夜影院在线观看18 | 欧美一区二区三区在线播放 | 波多野结衣精品 | 丁香色综合 | 欧美一级xxxx | 少妇超碰在线 | 美女久久久久久久久久 | 97视频在线免费观看 | 午夜视频免费在线观看 | 在线视频a| 黄色三级在线看 | 在线观看免费视频 | 国产亚洲欧洲 | 久久久久久电影 | 亚洲天堂网在线播放 | 亚洲精品中文字幕视频 | 草久在线观看 | 久久免费看a级毛毛片 | 亚洲一一在线 | 国产精彩视频一区二区 | 中文字幕在 | 国产在线v | 中文字幕av全部资源www中文字幕在线观看 | 五月婷婷天堂 | 国产综合福利在线 | 国产一区二区三区免费视频 | 夜色资源站国产www在线视频 | 色欧美88888久久久久久影院 | 久久免费国产电影 | 午夜久久成人 | 久草在线视频免费资源观看 | 99久热精品 | 久久婷婷精品 | 精品国产乱码久久久久久1区2匹 | 中文字幕在线看片 | 一本大道久久精品懂色aⅴ 五月婷社区 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 国内精品久久久久久久久久清纯 | 亚洲人成在线观看 | 一区二区视频在线看 | 毛片视频电影 | 久久影视中文字幕 | 天天操天天干天天插 | 国产日产在线观看 | 国产高清精 | 国产精品爽爽久久久久久蜜臀 | 在线免费国产 | 亚洲免费婷婷 | 久久精品久久久精品美女 | 日韩av影片在线观看 | 在线观看亚洲视频 | 日韩在线视 | 91在线看免费 | 四虎永久视频 | 黄色在线免费观看网址 | 丁香5月婷婷 | 在线电影日韩 | 国产成人精品一区二 | 一级黄色a视频 | 黄色毛片在线观看 | japanese黑人亚洲人4k | 免费看片网页 | 日韩视频1 | 99re中文字幕 | 99高清视频有精品视频 | 久久刺激视频 | 在线日韩中文 | 国产精品午夜在线观看 | 黄色大全视频 | 欧美性爽爽| 成人在线观看你懂的 | 中文字幕免费高 | 日韩精品一区二区在线 | 久久久久久亚洲精品 | 国产激情小视频在线观看 | www.人人干| 亚洲综合视频在线观看 | 在线视频1卡二卡三卡 | 人人揉人人揉人人揉人人揉97 | 丁香 婷婷 激情 | 一区二区精品在线观看 | 国产粉嫩在线观看 | 久久精品久久综合 | 在线观看日本高清mv视频 | 日韩视频免费播放 | 超碰在线1| 久久精品中文字幕免费mv | 日韩一区二区在线免费观看 | www黄com| 日韩av视屏 | 中国成人一区 | 91九色网站 | 黄色亚洲大片免费在线观看 | 国产精品久久麻豆 | 日本最大色倩网站www | 亚洲欧美精品一区 | 91人人干 | 人人爱人人舔 | 日本成人黄色片 | 国产成人香蕉 | 精品日本视频 | 国产日产精品一区二区三区四区的观看方式 | 国产91精品久久久久久 | 午夜精品福利影院 | 96久久久 | 成人全视频免费观看在线看 | 久久久资源网 | 深夜免费福利视频 | 国产午夜精品一区二区三区四区 | 亚洲精品中文字幕视频 | 成人在线观看日韩 | 久久涩视频 | 国产精品自产拍 | 国产精品18久久久久vr手机版特色 | 综合久久婷婷 | 免费高清在线一区 | 久草视频在线免费 | 国内精品久久久久久久影视简单 | 日本一区二区三区免费看 | 国产精品精 | 日韩一二三 | 国产精品视频 | 亚洲欧洲精品一区 | 欧美日韩高清国产 | 久草视频免费在线播放 | 欧美大片mv免费 | 久久国产欧美日韩 | 综合久久影院 | 日韩精品专区在线影院重磅 | 亚洲清纯国产 | 中文字幕影片免费在线观看 | 亚洲精品国产精品国自 | 久久99九九99精品 | 欧美久久久久久久久久久久久 | av 一区二区三区 | 日韩精品久久一区二区 | 99久久er热在这里只有精品15 |