成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > Linux下的命令行編程工具Awk的入門簡(jiǎn)介

Linux下的命令行編程工具Awk的入門簡(jiǎn)介

熱門標(biāo)簽:上海電銷卡外呼系統(tǒng)供應(yīng)商 優(yōu)邁系統(tǒng)外呼顯示亂層 布谷電銷機(jī)器人價(jià)格 怎么查看地圖標(biāo)注的地點(diǎn) 營(yíng)銷智能外呼系統(tǒng)口碑推薦 義烏市400電話辦理 岑溪電銷機(jī)器人 電銷機(jī)器人錄音用什么軟件 大連企業(yè)電銷機(jī)器人線路

什么是Awk

Awk是一種小巧的編程語言及命令行工具。(其名稱得自于它的創(chuàng)始人Alfred Aho、Peter Weinberger 和 Brian Kernighan姓氏的首個(gè)字母)。它非常適合服務(wù)器上的日志處理,主要是因?yàn)锳wk可以對(duì)文件進(jìn)行操作,通常以可讀文本構(gòu)建行。
我說它適用于服務(wù)器是因?yàn)槿罩疚募?,轉(zhuǎn)儲(chǔ)文件(dump files),或者任意文本格式的服務(wù)器終止轉(zhuǎn)儲(chǔ)到磁盤都會(huì)變得很大,并且在每個(gè)服務(wù)器你都會(huì)擁有大量的這類文件。如果你經(jīng)歷過這樣的情境——在沒有像Splunk或者其他等價(jià)的工具情況下不得不在50個(gè)不同的服務(wù)器里分析幾G的文件,你會(huì)覺得去獲取和下載所有的這些文件并分析他們是一件很糟糕的事。

我親身經(jīng)歷過這種情境。當(dāng)一些Erlang節(jié)點(diǎn)將要死掉并留下一個(gè)700MB到4GB的崩潰轉(zhuǎn)儲(chǔ)文件(crash dump)時(shí),或者當(dāng)我需要在一個(gè)小的個(gè)人服務(wù)器(叫做VPS)上快速瀏覽日志,查找一個(gè)常規(guī)模式時(shí)。

在任何情況下,Awk都不僅僅只是用來查找數(shù)據(jù)的(否則,grep或者ack已經(jīng)足夠使用了)——它同樣使你能夠處理數(shù)據(jù)并轉(zhuǎn)換數(shù)據(jù)。
代碼結(jié)構(gòu)

Awk腳本的代碼結(jié)構(gòu)很簡(jiǎn)單,就是一系列的模式(pattern)和行為(action):

   

復(fù)制代碼
代碼如下:
# comment
Pattern1 { ACTIONS; }
# comment
Pattern2 { ACTIONS; }
# comment
Pattern3 { ACTIONS; }
# comment
Pattern4 { ACTIONS; }

掃描文檔的每一行時(shí)都必須與每一個(gè)模式進(jìn)行匹配比較,而且一次只匹配一個(gè)模式。那么,如果我給出一個(gè)包含以下內(nèi)容的文件:

   

復(fù)制代碼
代碼如下:
this is line 1
this is line 2

this is line 1 這行就會(huì)與Pattern1進(jìn)行匹配。如果匹配成功,就會(huì)執(zhí)行ACTIONS。然后this is line 1 會(huì)和Pattern2進(jìn)行匹配。如果匹配失敗,它就會(huì)跳到Pattern3進(jìn)行匹配,以此類推。

一旦所有的模式都匹配過了,this is line 2 就會(huì)以同樣的步驟進(jìn)行匹配。其他的行也一樣,直到讀取完整個(gè)文件。

簡(jiǎn)而言之,這就是Awk的運(yùn)行模式
數(shù)據(jù)類型

Awk僅有兩個(gè)主要的數(shù)據(jù)類型:字符串和數(shù)字。即便如此,Awk的字符串和數(shù)字還可以相互轉(zhuǎn)換。字符串能夠被解釋為數(shù)字并把它的值轉(zhuǎn)換為數(shù)字值。如果字符串不包含數(shù)字,它就被轉(zhuǎn)換為0.

它們都可以在你代碼里的ACTIONS部分使用 = 操作符給變量賦值。我們可以在任意時(shí)刻、任意地方聲明和使用變量,也可以使用未初始化的變量,此時(shí)他們的默認(rèn)值是空字符串:“”。

最后,Awk有數(shù)組類型,并且它們是動(dòng)態(tài)的一維關(guān)聯(lián)數(shù)組。它們的語法是這樣的:var[key] = value 。Awk可以模擬多維數(shù)組,但無論怎樣,這是一個(gè)大的技巧(big hack)。
模式

可以使用的模式分為三大類:正則表達(dá)式、布爾表達(dá)式和特殊模式。

正則表達(dá)式和布爾表達(dá)式

你使用的Awk正則表達(dá)式比較輕量。它們不是Awk下的PCRE(但是gawk可以支持該庫——這依賴于具體的實(shí)現(xiàn)!請(qǐng)使用 awk

–version查看),然而,對(duì)于大部分的使用需求已經(jīng)足夠了:

   

復(fù)制代碼
代碼如下:
/admin/ { ... } # any line that contains 'admin'
/^admin/ { ... } # lines that begin with 'admin'
/admin$/ { ... } # lines that end with 'admin'
/^[0-9.]+ / { ... } # lines beginning with series of numbers and periods
/(POST|PUT|DELETE)/ # lines that contain specific HTTP verbs

注意,模式不能捕獲特定的組(groups)使它們?cè)诖a的ACTIONS部分執(zhí)行。模式是專門匹配內(nèi)容的。

布爾表達(dá)式與PHP或者Javascript中的布爾表達(dá)式類似。特別的是,在awk中可以使用(“與”)、||(“或”)、!(“非”)操作符。你幾乎可以在所有類C語言中找到它們的蹤跡。它們可以對(duì)常規(guī)數(shù)據(jù)進(jìn)行操作。

與PHP和Javascript更相似的特性是比較操作符,==,它會(huì)進(jìn)行模糊匹配(fuzzy matching)。因此“23”字符串等于23,”23″ == 23 表達(dá)式返回true。!= 操作符同樣在awk里使用,并且別忘了其他常見的操作符:>,,>=,和=。

你同樣可以混合使用它們:布爾表達(dá)式可以和常規(guī)表達(dá)式一起使用。 /admin/ || debug == true 這種用法是合法的,并且在遇到包含“admin”單詞的行或者debug變量等于true時(shí)該表達(dá)式就會(huì)匹配成功。

注意,如果你有一個(gè)特定的字符串或者變量要與正則表達(dá)式進(jìn)行匹配,~ 和!~ 就是你想要的操作符。 這樣使用它們:string ~ /regex/ 和 string !~ /regex/。

同樣要注意的是,所有的模式都只是可選的。一個(gè)包含以下內(nèi)容的Awk腳本:


復(fù)制代碼
代碼如下:
{ ACTIONS }

對(duì)輸入的每一行都將會(huì)簡(jiǎn)單地執(zhí)行ACTIONS。
特殊的模式

在Awk里有一些特殊的模式,但不是很多。

第一個(gè)是BEGIN,它僅在所有的行都輸入到文件之前進(jìn)行匹配。這是你可以初始化你的腳本變量和所有種類的狀態(tài)的主要地方。

另外一個(gè)就是END。就像你可能已經(jīng)猜到的,它會(huì)在所有的輸入都被處理完后進(jìn)行匹配。這使你可以在退出前進(jìn)行清除工作和一些最后的輸出。

最后一類模式,要把它進(jìn)行歸類有點(diǎn)困難。它處于變量和特殊值之間,我們通常稱它們?yōu)橛颍‵ield)。而且名副其實(shí)。

使用直觀的例子能更好地解釋域:

   

復(fù)制代碼
代碼如下:
# According to the following line
#
# $1 $2 $3
# 00:34:23 GET /foo/bar.html
# _____________ _____________/
# $0

# Hack attempt?
/admin.html$/ $2 == "DELETE" {
print "Hacker Alert!";
}

域(默認(rèn)地)由空格分隔。$0 域代表了一整行的字符串。 $1 域是第一塊字符串(在任何空格之前), $2 域是后一塊,以此類推。

一個(gè)有趣的事實(shí)(并且是在大多是情況下我們要避免的事情),你可以通過給相應(yīng)的域賦值來修改相應(yīng)的行。例如,如果你在一個(gè)塊里執(zhí)行 $0 = “HAHA THE LINE IS GONE”,那么現(xiàn)在下一個(gè)模式將會(huì)對(duì)修改后的行進(jìn)行操作而不是操作原始的行。其他的域變量都類似。
行為

這里有一堆可用的行為(possible actions),但是最常用和最有用的行為(以我的經(jīng)驗(yàn)來說)是:

   

復(fù)制代碼
代碼如下:
{ print $0; } # prints $0. In this case, equivalent to 'print' alone
{ exit; } # ends the program
{ next; } # skips to the next line of input
{ a=$1; b=$0 } # variable assignment
{ c[$1] = $2 } # variable assignment (array)

{ if (BOOLEAN) { ACTION }
else if (BOOLEAN) { ACTION }
else { ACTION }
}
{ for (i=1; ix; i++) { ACTION } }
{ for (item in c) { ACTION } }

這些內(nèi)容將會(huì)成為你的Awk工具箱的主要工具,在你處理日志之類的文件時(shí)你可以隨意地使用它們。

Awk里的變量都是全局變量。無論你在給定的塊里定義什么變量,它對(duì)其他的塊都是可見的,甚至是對(duì)每一行都是可見的。這嚴(yán)重限制了你的Awk腳本大小,不然他們會(huì)造成不可維護(hù)的可怕結(jié)果。請(qǐng)編寫盡可能小的腳本。
函數(shù)

可以使用下面的語法來調(diào)用函數(shù):

   

復(fù)制代碼
代碼如下:
{ somecall($2) }

這里有一些有限的內(nèi)置函數(shù)可以使用,所以我可以給出這些函數(shù)的通用文檔(regular documentation)。

用戶定義的函數(shù)同樣很簡(jiǎn)單:

   

復(fù)制代碼
代碼如下:
# function arguments are call-by-value
function name(parameter-list) {
ACTIONS; # same actions as usual
}

# return is a valid keyword
function add1(val) {
return val+1;
}

特殊變量

除了常規(guī)變量(全局的,可以在任意地方使用),這里還有一系列特殊的變量,它們的的作用有點(diǎn)像配置條目(configuration entries):

   

復(fù)制代碼
代碼如下:
BEGIN { # Can be modified by the user
FS = ","; # Field Separator
RS = "n"; # Record Separator (lines)
OFS = " "; # Output Field Separator
ORS = "n"; # Output Record Separator (lines)
}
{ # Can't be modified by the user
NF # Number of Fields in the current Record (line)
NR # Number of Records seen so far
ARGV / ARGC # Script Arguments
}

我把可修改的變量放在BEGIN里,因?yàn)槲腋矚g在那重寫它們。但是這些變量的重寫可以放在腳本的任意地方然后在后面的行里生效。
示例

以上的就是Awk語言的核心內(nèi)容。我這里沒有大量的例子,因?yàn)槲亿呄蛴谑褂肁wk來完成快速的一次性任務(wù)。

不過我依然有一些隨身攜帶的腳本文件,用來處理一些事情和測(cè)試。我最喜歡的一個(gè)腳本是用來處理Erlang的崩潰轉(zhuǎn)儲(chǔ)文件,形如下面的:

   

復(fù)制代碼
代碼如下:
=erl_crash_dump:0.3
Tue Nov 18 02:52:44 2014
Slogan: init terminating in do_boot ()
System version: Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]
Compiled: Fri Sep 19 03:23:19 2014
Taints:
Atoms: 12167
=memory
total: 19012936
processes: 4327912
processes_used: 4319928
system: 14685024
atom: 339441
atom_used: 331087
binary: 1367680
code: 8384804
ets: 382552
=hash_table:atom_tab
size: 9643
used: 6949
...
=allocator:instr
option m: false
option s: false
option t: false
=proc:0.0.0>
State: Running
Name: init
Spawned as: otp_ring0:start/2
Run queue: 0
Spawned by: []
Started: Tue Nov 18 02:52:35 2014
Message queue length: 0
Number of heap fragments: 0
Heap fragment data: 0
Link list: [0.3.0>, 0.7.0>, 0.6.0>]
Reductions: 29265
Stack+heap: 1598
OldHeap: 610
Heap unused: 656
OldHeap unused: 468
Memory: 18584
Program counter: 0x00007f42f9566200 (init:boot_loop/2 + 64)
CP: 0x0000000000000000 (invalid)
=proc:0.3.0>
State: Waiting
...
=port:#Port0.0>
Slot: 0
Connected: 0.3.0>
Links: 0.3.0>
Port controls linked-in driver: efile
=port:#Port0.14>
Slot: 112
Connected: 0.3.0>
...

產(chǎn)生下面的結(jié)果:

   

復(fù)制代碼
代碼如下:
$ awk -f queue_fun.awk $PATH_TO_DUMP
MESSAGE QUEUE LENGTH: CURRENT FUNCTION
======================================
10641: io:wait_io_mon_reply/2
12646: io:wait_io_mon_reply/2
32991: io:wait_io_mon_reply/2
2183837: io:wait_io_mon_reply/2
730790: io:wait_io_mon_reply/2
80194: io:wait_io_mon_reply/2
...

這是在Erlang進(jìn)程里運(yùn)行的函數(shù)列表,它們導(dǎo)致了mailboxe變得很龐大。腳本在這:

   

復(fù)制代碼
代碼如下:
# Parse Erlang Crash Dumps and correlate mailbox size to the currently running
# function.
#
# Once in the procs section of the dump, all processes are displayed with
# =proc:0.M.N> followed by a list of their attributes, which include the
# message queue length and the program counter (what code is currently
# executing).
#
# Run as:
#
# $ awk -v threshold=$THRESHOLD -f queue_fun.awk $CRASHDUMP
#
# Where $THRESHOLD is the smallest mailbox you want inspects. Default value
# is 1000.
BEGIN {
if (threshold == "") {
threshold = 1000 # default mailbox size
}
procs = 0 # are we in the =procs entries?
print "MESSAGE QUEUE LENGTH: CURRENT FUNCTION"
print "======================================"
}

# Only bother with the =proc: entries. Anything else is useless.
procs == 0 /^=proc/ { procs = 1 } # entering the =procs entries
procs == 1 /^=/ !/^=proc/ { exit 0 } # we're done

# Message queue length: 1210
# 1 2 3 4
/^Message queue length: / $4 >= threshold { flag=1; ct=$4 }
/^Message queue length: / $4 threshold { flag=0 }

# Program counter: 0x00007f5fb8cb2238 (io:wait_io_mon_reply/2 + 56)
# 1 2 3 4 5 6
flag == 1 /^Program counter: / { print ct ":", substr($4,2) }

你跟上思路沒?如果跟上了,你已經(jīng)了解了Awk。恭喜!

標(biāo)簽:遼寧 六安 大興安嶺 青島 大慶 周口 樂山 大理

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下的命令行編程工具Awk的入門簡(jiǎn)介》,本文關(guān)鍵詞  Linux,下,的,命令行,編程工具,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux下的命令行編程工具Awk的入門簡(jiǎn)介》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux下的命令行編程工具Awk的入門簡(jiǎn)介的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久欧美一区二区| 午夜欧美一区二区三区免费观看| 日韩免费精品视频| 成人婷婷网色偷偷亚洲男人的天堂| 色诱女教师一区二区三区| 成人国产精品久久久久久亚洲| 国产成人免费视频一区| 91精品久久久久久久久久不卡| 一区二区精品在线| 亚洲欧美韩国| 国产一区二区三区在线观看免费视频| 一区二区欧美在线观看| 欧美人与禽性xxxxx杂性| 美女性感视频久久| 亚洲综合av一区二区三区| 色网综合在线观看| 亚洲一区二区在线播放| 欧美日韩国产第一页| 国内精品久久久久久中文字幕| 九九热视频免费观看| 九九热最新视频//这里只有精品| 能在线观看av网站| 免费在线观看av的网站| 一二三四视频在线中文| 国产精品美女主播在线观看纯欲| 午夜精品久久久久久| 蜜桃视频久久一区免费观看入口| 97成人精品视频在线观看| wwwwxxxx日韩| 国产精品无码乱伦| 亚洲欧美日韩精品久久久| www在线播放| 欧美一区二区三区四区高清| 欧美在线激情网| 精品无吗乱吗av国产爱色| 亚洲国产欧美在线人成| av一二三不卡影片| 成人免费一区二区三区视频网站| 猫咪成人官网| 亚洲av无码精品一区二区| 国产精品一国产精品k频道56| 国产久卡久卡久卡久卡视频精品| 亚洲人精品午夜在线观看| 伦xxxx在线| 林ゆな中文字幕一区二区| 国产精品免费精品自在线观看| 91偷拍一区二区三区精品| 欧美怡红院视频一区二区三区| 免费看片91| 比比资源先锋| 亚洲少妇在线| 欧美日韩国产精品激情在线播放| 亚洲欧美日本精品| 99视频精品免费视频| 国产999精品久久久| www在线观看播放免费视频日本| 视频区小说区图片区| 中文字幕一区不卡| 天堂中文字幕av| 成人线上视频| 国产精品久久亚洲| 精品无码久久久久| 99re这里只有精品在线| 日本10禁啪啪无遮挡免费一区二区| 亚洲精品99久久久久中文字幕| 日韩欧美精品在线视频| 男人天堂成人在线| 精品黑人一区二区三区在线观看| 91福利视频网| 日本激情视频一区二区三区| 狠狠色成人综合网图片区| 精品国精品国产自在久不卡| 精品肉丝脚一区二区三区| 午夜视频在线观| 黄网站app在线观看下载视频大全官网| 亚洲激情文学| 国产精品久久久久久久久久久新郎| 国产伦精品一区二区三区照片| 日韩激情小视频| 久久久香蕉视频| 成人c视频免费高清在线观看| 视频一区视频二区视频三区视频四区国产| 欧美成人午夜免费视在线看片| 国产成人精品一区二| 日日干天天干| 精品久久99| 中文字幕一区日韩精品| 日韩视频免费中文字幕| 琪琪五月天综合婷婷| 国产一区二区三区四区五区加勒比| 亚洲人成网亚洲欧洲无码| 日韩中文视频| 国产精品国产三级国产专业不| 一二三四在线视频观看社区| 中文字幕第28页| 91精品啪在线观看国产81旧版| 亚洲婷婷伊人| 午夜剧场免费在线观看| 长河落日免费高清观看| 五十度飞在线播放| 国产人妻一区二区| 色一情一伦一子一伦一区| 欧美亚洲尤物久久| 欧美搞黄网站| 伊人成年综合网| 少妇网站在线观看| 免费黄色av网址| 热国产热中文视频二区| √8天堂资源地址中文在线| 轻轻操 在线观看| 亚洲视频在线看| 2018av在线| 二区三区在线| 日韩女优在线观看| 超碰激情在线| 免费黄网大全| jizzzz日本| 成年网站在线视频网站| 日韩综合第一页| 国产免费一级片| 欧美日韩精品一区二区天天拍小说| 国产精品久久777777换脸| 国产精品久久久久蜜臀| 在线成人动漫av| 国产亚洲欧洲黄色| 日韩精品在线视频美女| 亚洲第一男人av| 菠萝蜜视频在线观看入口| 99视频精品免费视频| 欧美成人在线影院| 免费久久网站| www久久久| eeuss影院18www免费| 青青青视频在线| 99久久人妻无码精品系列| 91精品国产品国语在线不卡| 国产资源在线观看入口av| 日韩手机在线视频| 亚洲 欧美 日韩 综合| 免费av网址在线| 国产精品啪啪啪视频| jizz在线免费播放| 国产91ⅴ在线精品免费观看| 中文字幕在线直播| 欧美日韩电影一区二区| 图片区 小说区 区 亚洲五月| 欧美激情在线| 波多野结衣在线网站| 伊人久久大香线蕉av超碰演员| 中文乱码字幕高清在线观看| 三年中文在线观看免费大全中国| 蜜臀91精品一区二区三区| 欧美精品a∨在线观看不卡| 韩国久久久久| 亚洲一级一级97网| 成人高清在线观看免费| 国产精品影视网| 黄色小说在线播放| 日韩毛片在线| 国产剧情麻豆剧果冻传媒视频免费| 国产原创中文av| 四虎成人精品免费影院| 久久久精品一区| av网站网址| 国内三级在线观看| 中文字幕国产精品| 在线精品播放av| 欧美日韩一区高清| 欧美一级二级三级区| 国产精品无码乱伦| 色哟哟在线观看一区二区三区| 国产天堂亚洲国产碰碰| 成年人深夜视频| 久久99精品这里精品3| eeuss影院eeuss最新直达| 啊v在线视频| 91亚洲大成网污www| 欧美大片免费高清观看| 日韩黄色在线| 69堂国产成人免费视频| 97人妻天天摸天天爽天天| 欧美伊人久久大香线蕉综合69| 91国产一区| 天堂在线国产| 性色av蜜臀av浪潮av老女人| 午夜精品久久久久99蜜桃最新版| 国语自产精品视频在线看8查询8| 欧美亚洲日本网站| 日本精品一区二区三区高清 久久| 蜜桃免费在线视频| 自拍视频在线播放| 成人精品国产一区二区4080| 欧美精品电影在线| 高清性色生活片在线观看| gay视频丨vk| 欧美视频在线观看| 国产精品扒开腿做爽爽爽视频软件| 国产精品456露脸| 性一交一乱一色一视频麻豆| 国产精品一区二区电影| 亚洲精品国产精品久久清纯直播| 丁香六月天婷婷| 久久综合资源网| 亚洲一区二区图片| 少妇精品导航| 午夜视频在线播放| av免费看大片| 国产欧美一区二区三区小说| 成人字幕网zmw| 欧美tickling网站挠脚心| 亚洲一区二区三区观看| 久久69精品久久久久久国产越南| av女在线播放| 国产欧美日韩影院| 尤物yw午夜国产精品视频| 欧美精品一区二区三区国产精品| 久精品在线观看| 国产三级精品三级在线观看国产| 91直播在线观看| 狠狠人妻久久久久久综合| 最近中文字幕一区二区| 国产精品污www一区二区三区| 欧美一区二区三区在线观看视频| 亚洲欧洲美洲在线综合| 国产永久免费高清在线观看视频| 波多野结衣在线免费观看| 成年人视频网站免费观看| 色噜噜狠狠色综合中国| 欧美激情区在线播放| 91精品成人久久| 美女脱光内衣内裤| 日本中文字幕精品—区二区| 国内精品二区| 国产成人在线影院| 国内精品久久久久久久影视蜜臀| 91精品在线国产| 欧美亚州一区二区三区| 456亚洲精品成人影院| 18精品爽视频在线观看| 午夜亚洲福利| 成人免费毛片在线观看| 亚洲一区二区精品在线观看| av 日韩 人妻 黑人 综合 无码| 五月婷在线视频| 天天色天天操天天射| 国产成+人+综合+亚洲欧美丁香花| 久久只有精品| av资源在线免费观看| 最新中文字幕2018| 国产精品成人自拍| 国产一区二区高清不卡| 福利一区福利二区微拍刺激| 狠狠色综合一区二区| 日本一本不卡| 久久99青青| 性猛交ⅹ×××乱大交| 欧美日韩一卡二卡三卡| 国产va免费精品观看精品| 欧美日韩第一区| a视频在线观看免费| 日韩一区在线看| 色欲狠狠躁天天躁无码中文字幕| 韩日欧美一区二区三区| 独立日3在线观看完整版| 欧美精品综合| 超碰在线中文| 国产精品毛片大码女人| 亚洲一区二区日本| 另类在线视频| av资源站久久亚洲| 中文在线字幕免费观| 91小视频免费观看| 1区2区3区视频| 一区二区三区日本| 波多野结衣中文字幕一区| 91麻豆国产福利在线观看| 国产二级一片内射视频播放| 九九精品久久| 色爽爽爽爽爽爽爽爽| 久久国产精品久久久久久| 国产午夜激情视频| 大陆av在线播放| 久久先锋影音av鲁色资源| 影视先锋av在线| 国产亚洲在线观看| 婷婷精品久久久久久久久久不卡| 国产一区在线播放| 亚洲欧美日韩中文字幕一区二区三区| a毛片在线观看| 香蕉视频网站在线| 久久精品国产麻豆| 欧美性猛交xxx高清大费中文| 高清免费观看在线| 欧美精产国品一二三区| 日韩av一区二区在线观看| av成人动漫| 欧美精品久久久久a| 亚洲无中文字幕| 你懂的视频在线一区二区| 午夜精品一区二区三区三上悠亚| 欧美日本国产精品| 免费不卡中文字幕视频| 人人超碰在线| 国产一区二区三区四区五区3d| 成年人在线播放| 亚洲人成人99网站| 青草青草久热精品视频在线网站| 黄色成人在线观看网站| 少妇高清精品毛片在线视频| 中国xxx69视频| 男女性色大片免费观看一区二区| 成人看片网页| 看片网站在线观看| 91精品视频免费在线观看| 国产www在线观看| 永久免费精品视频| 女人扒开腿免费视频app| 一区二区中文| 久久精品99国产精品日本| 福利视频一区二区三区四区| 嫩草香蕉在线91一二三区| 波多野结衣欧美| 黄色一级大片在线免费观看| 一个人看的www视频在线免费观看| 亚洲人精品午夜在线观看| 欧美色综合天天久久综合精品| 日本在线免费观看视频| 久国产精品韩国三级视频|