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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

awk快速入门

發布時間:2024/4/17 编程问答 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 awk快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AWK快速入門

awk簡介

awk是一個優良的文本處理工具,是Linux中文本三劍客之一,awk的名字取自于其創始人Alfred Aho、Peter Weinberger和Brain Kernighan三人姓式的首字母。
awk的功能及其強大,可以進行式樣裝入、流控制、數學運算符、進程控制語句甚至內置的變量和函數,他具備了一個完整語言所應有的幾乎所有特性。

awk語法

awk程序由BEGIN語句塊、能夠使用模式匹配的通用語句塊、END語句塊,共3部分組成

awk [option] '[BEGIN{action;...}]pattern{action;...}[END{action;...}]' file 選項說明
-F指定分隔符
-f指定awk程序文件
-v變量賦值,每個變量都需要使用-v var=value來賦值

awk工作原理

1.執行BEGIN{action;...}語句塊中的語句
BEGIN語句塊在awk開始從輸入流中讀取的行之前被執行,這是個可選的語句塊,
2.從文件或標準輸入中讀取一行,然后執行pattern{action;...}語句塊,它逐行掃描文件,從第一行到最后一行重復這個過程,直到文件全部被讀取完畢。
3。當讀至輸入流末尾時,執行END{action;...}語句塊。
END語句塊,在awk從輸入流種讀取完所有的行之后再執行,比如打印所有行的分析結果這里信息匯總都是在END語句中完成,它也是個可選語句塊

awk基本用法

awk最簡單的使用方法為:

awk [option] 'pattern{action;...}' file

一、print

print的參數可以是變量、數值或字符串。字符串必須用雙引號引用,參數用逗號分隔。如果沒有逗號,參數就串聯在一起,無法區分。這里逗號的作用與輸出文件的分隔符所用是一樣的,只是后者是空格而已。當pattern不指定時默認打印文件中所有的行。
示例1:打印/etc/fstab中的每一行

[root@centos7 ~]# awk '{print $0}' /etc/fstab# # /etc/fstab # Created by anaconda on Tue Mar 5 21:07:19 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=45490aa4-cf29-420d-a606-af32688b6707 / xfs defaults 0 0 UUID=15dcd896-b7cf-48d0-b8bd-4c0b0f2c62b2 /boot xfs defaults 0 0 UUID=4b6e1813-2c46-402a-869a-02cbbcb76ade /data xfs defaults 0 0 UUID=0995b444-48c1-4423-92bc-2deda0d3c082 swap swap defaults 0 0

二、awk變量

awk有內置變量和自定義變量
內置變量有FS、OFS、RS、ORS、NF、FNR、FILENAME、ARGC、ARGV

1.FS:設置輸入域分隔符,等價于命令行選項-F

示例1:使用變量FS指定分隔符,取出/etc/fstab的第1第3列

[root@centos7 ~]# awk -v FS=: '{print $1,$3}' /etc/passwd root 0 bin 1 daemon 2 ...以下省略...

示例2:使用選項-F指定分隔符,取出/etc/fstab的第1第3列

[root@centos7 ~]# awk -F":" '{print $1,$3}' /etc/passwd root 0 bin 1 daemon 2 ...以下省略...

示例3:用正則表達式當分隔符取出分區利用率

[root@centos7 ~]# df | awk -F"[[:space:]]+|%" '{print $5}' Use 15 0 0 2 0 1 17

示例4:變量在action中也能被引用,在第一個域和第3個域之間加:號

[root@centos7 ~]# awk -v FS=: '{print $1,FS,$3}' /etc/passwd root : 0 bin : 1 daemon : 2 ...以下省略...

2.OFS:設置輸出時域分隔符,默認為空白

示例1:以:為分隔符分隔字段,輸出時以+++為分隔符,取出/etc/passwd第1第2字段

[root@centos7 ~]# awk -v FS=: -v OFS=+++ '{print $1,$2}' /etc/passwd root+++x bin+++x daemon+++x ...以下省略...

3.RS:設置記錄分隔符

當記錄的分割符指定為某符號時,從字符開始至記錄分隔符的字符串為一條記錄,記錄的條數和行數無關。
示例1:創建一個文本指定;為分隔符查看記錄情況。

[root@centos7 ~]# cat a.txt a,b,c;1,2,3,4,;aa,bb,cc zz,yy,xxx;122,444,2322;AA BB,CC

以上面文件內容為例,以分號為記錄的分隔符,此文件一共有5條記錄。

[root@centos7 ~]# awk -v RS=";" '{print $0}' a.txt a,b,c 1,2,3,4, aa,bb,cc #此行與下一行為一條記錄中間隱藏了一個換行符 zz,yy,xxx 122,444,2322 AA #此行與下一行為一條記錄中間隱藏了一個換行符 BB,CC

4.ORS:設置輸出時記錄分隔符

ORS變量指定輸出時的記錄分隔符為什么符號。
示例:
依舊為a.txt文件,設置分隔符為,號,紀錄分隔符為;號,輸出時設置記錄分分隔符為___,取出第一字段。

[root@centos7 ~]# cat a.txt a,b,c;1,2,3,4,;aa,bb,cc zz,yy,xxx;122,444,2322;AA BB,CC[root@centos7 ~]# awk -F, -v RS=";" -v ORS="___" '{print $1}' a.txt a___1___aa___122___AA BB___

5.NF:域數

NF可以查看一條記錄內有多少個域,也可以用來查看倒數第N個字符為什么
示例1:
以/etc/passwd為例,以:號為分隔符查看每行的字段數量

[root@centos7 ~]# awk -F: '{print NF}' /etc/passwd 7 7 7 ...以下省略...

示例2:
差看/etc/passwd文件內,以:為分隔符,倒數第2個字段的內容

[root@centos7 ~]# awk -F: '{print $(NF-1)}' /etc/passwd /root /bin /sbin ...以下省略...

6.NR:記錄數

NR變量為已讀文件的記錄數
示例1:
以;為記錄符,在a.txt的文件的每條記錄前加上記錄行。

[root@centos7 ~]# cat a.txt a,b,c;1,2,3,4,;aa,bb,cc zz,yy,xxx;122,444,2322;AA BB,CC [root@centos7 ~]# awk -v RS=";" '{print NR,$0}' a.txt 1 a,b,c 2 1,2,3,4, 3 aa,bb,cc zz,yy,xxx 4 122,444,2322 5 AA BB,CC

NR變量還可以合并計數多個文件的記錄
示例2:查看/etc/fstab和/etc/issue總共有多少記錄號

[root@centos7 ~]# awk '{print NR}' /etc/fstab /etc/issue 1 2 ...中間省略... 14 15

7.FNR:文件的記錄數

FNR變量為每個文件分別記錄記錄數。
示例:查看/etc/fstab和/etc/issue的記錄數

[root@centos7 ~]# awk '{print FNR}' /etc/fstab /etc/issue 1 2 ...中間省略... 11 12 1 2 3

8.FILENAME:文件名

FILENAME變量為輸出文件名
示例:在匹配到的行后面加上文件名

[root@centos7 ~]# awk '{print $0,FILENAME}' /etc/passwd root:x:0:0:root:/root:/bin/bash /etc/passwd bin:x:1:1:bin:/bin:/sbin/nologin /etc/passwd daemon:x:2:2:daemon:/sbin:/sbin/nologin /etc/passwd ...以下省略...

9.ARGC:命令行參數個數

ARGC變量存放的為參數個數。
示例:

[root@centos7 ~]# awk '{print ARGC}' /etc/issue 2 2 2

顯示為2個參數,是哪兩個參數呢?看下面那個函數

10.ARGV:查看命令行參數

ARGV變量為一個數組里面存放的為awk的每個參數
示例:
打印每一個參數

[root@centos7 ~]# awk '{print ARGV[1]}' /etc/issue /etc/issue /etc/issue /etc/issue [root@centos7 ~]# awk '{print ARGV[0]}' /etc/issue awk awk awk

自定義變量
自定義變量的賦值有2種方法

1.-v var=value

示例1:輸出變量在每行

[root@centos7 ~]# awk -v title=ceo -F: '{print title":"$1}' /etc/passwd ceo:root ceo:bin ceo:daemon ceo:adm ceo:lp

2.可以直接在program中直接定義

把變量賦值放在{}內,把變量放在{}內賦值時變量值必須要加雙引號,變量必須先賦值再引用,次序錯誤會導致第一次匹配到的行沒有值
示例1:在每個用戶前加上ceo

[root@centos7 ~]# awk -F: '{title="ceo"; print title":"$1}' /etc/passwd ceo:root ceo:bin ceo:daemon ceo:adm ceo:lp ceo:sync

示例2:調用腳本文件
awk '{action}' 單引號內的腳本可以存放在文件內被調用

[root@centos7 ~]# cat 2.txt {title="ceo";print title":"$1} [root@centos7 ~]# awk -F: -f 2.txt /etc/passwd ceo:root ceo:bin ceo:daemon

三、printf

printf格式化輸出:

printf "FORMAT" ,item1,item2,... 使用printf時,需要注意以下3點:
1.使用printf時必須指定FORMAT,
2.printf不會自動換行,需要顯式給出換行控制符\n
3.FORMAT中需要分別為后面每個item指定格式符
printf的格式符有以下:
格式符說明
%c顯示字符的ASCII碼
%d,%i顯示十進制整數
%e,%E顯示科學計數法數值
%f顯示浮點數
%g以科學計數法或浮點形式顯示數值
%s顯示字符串
%u無符號整數
%%顯示%自身
printf中除了格式符還有修飾符:
修飾符說明
#[.#]第一個數字控制顯示的寬度;第二個#標識小數點后精度,%3.1f
-左對齊(默認為右對齊)%-15s
+顯示數值的正負值符號%+d

示例1:
%d打印整數

[root@centos7 ~]# echo 100.222 | awk '{printf "this is %d" ,$0"\n"}' this is 100

示例2:
格式符有幾個對應的item項就要就幾個否則語法錯誤

[root@centos7 ~]# echo "123.455 221.245" | awk '{printf "this is %d %d" ,$1,$2}' this is 123 221

示例3:
%f可以打印小數,默認輸出的為6位。也可以指定小數位。

[root@centos7 ~]# echo "123.455 221.245" | awk '{printf "this is %f" ,$1}' this is 123.455000 #指定小數位用法 [root@centos7 ~]# echo "123.455 221.245" | awk '{printf "this is %.3f" ,$1}' this is 123.455

示例4:
.之前的數字為長度(默認右對齊)

[root@centos7 ~]# echo "123.455 221.245" | awk '{printf "this is %10.3f %10.3f" ,$1,$2}' this is 123.455 221.245

示例5:
指定左對齊,在%后面加上-

[root@centos7 ~]# echo "123.222 345.23" |awk '{printf "this is %-10.3f %-10.3f",$1,$2}' this is 123.222 345.230

四、操作符

awk還支持各種操作符如算數操作符、字符串操作符、賦值操作符、比較操作符、模式匹配操作符

1.算數操作符

算數操作符有+、-、、/、^、%,如:
x+y,x-y,xy,x/y,x^y,x%y
示例1:
簡單的算術運算

[root@centos7 ~]# awk 'BEGIN{I=20;J=10;M=I+J;print M}' 30

示例2:
-x:轉換為負數

[root@centos7 ~]# awk 'BEGIN{I=20;I=-I;print I}' -20

2.賦值操作符:

賦值操作符有:=,+=,-=,*=,/=,%=,^=,++,--
示例1:

[root@centos7 ~]# awk 'BEGIN{I=10;I+=2;print I}' 12 [root@centos7 ~]# awk 'BEGIN{I=10;I-=2;print I}' 8 [root@centos7 ~]# awk 'BEGIN{I=10;I*=2;print I}' 20

3.比較操作符和模式匹配符

比較操作符和模式匹配符常用在awk的行過濾pattern中,Pattern為空時所有都符合條件
pattern中可以添加比較符號和模式匹配
比較符號有:==(等于),!=(不等于),>(大于),>=(大于等于),<(小于),<=(小于等于)
模式匹配符:~(符號左邊內容是否右邊匹配內容,包含內容),!~(符號左邊內容的是否不匹配右邊內容)
模式匹配時可以使用正則表達式!
3.1比較操作符示例
示例1:
取出連接主機的IP

[root@centos7 ~]# ss -tn | awk -F" +|:" 'NR>1{print $(NF-2)}' 192.168.172.1

示例2:
取出用戶列表中UID大于1000的用戶和ID

[root@centos7 ~]# awk -F: '$3>1000{print $1,$3}' /etc/passwd nfsnobody 65534

示例3:
取出ip地址

[root@centos7 ~]# ifconfig | awk 'NR==2{print $2}' 192.168.172.129

示例4:
取出分區利用率大于10的設備

[root@centos7 ~]# df | awk -F" +|%" '/\/dev\/sd/ && $5>10{print $1,$5}' /dev/sda1 17

3.2模式匹配示例
示例1:匹配第一列為/dev/sd開頭行

[root@centos7 ~]# df | awk '/\/dev\/sd/{print $1}' /dev/sda2 /dev/sda3 /dev/sda1

示例2:匹配/etc/fstab非#開頭的行

[root@centos7 ~]# awk '!/^#/' /etc/fstab UUID=45490aa4-cf29-420d-a606-af32688b6707 / xfs defaults 0 0 UUID=15dcd896-b7cf-48d0-b8bd-4c0b0f2c62b2 /boot xfs defaults 0 0 UUID=4b6e1813-2c46-402a-869a-02cbbcb76ade /data xfs defaults 0 0 UUID=0995b444-48c1-4423-92bc-2deda0d3c082 swap swap defaults 0 0

4.邏輯操作符

邏輯操作符:與&&,或||,非!
示例1:
取出/etc/passwd非nologin結尾的行

[root@centos7 ~]# awk '!/nologin$/' /etc/passwd root:x:0:0:root:/root:/bin/bash sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt masuri:x:1000:1000:masuri:/home/masuri:/bin/bash

示例2:
取出分區利用率大于10的設備名和分區利用率

[root@centos7 ~]# df | awk -F" +|%" '/\/dev\/sd/ && $5>10{print $1,$5}' /dev/sda1 17

示例3:
取出連接數前3的IP地址

[root@centos7 ~]# netstat -tn | awk -F" +|:" '/ESTABLISHED/{print $6}' | sort | uniq -c | sort -nr | head -3

5.三目表達式

三目表達式格式:
selector?if-ture-expression:if-false-expression
判斷selector是否為真,如果為真則執行if-ture語句,不為真則執行if-false語句。
示例1:
在Uid大于等于1000的用戶前添加commom user,小于1000的添加system user

[root@centos7 ~]# awk -F: '$3>=1000?USER="COMMOM USER:":USER="SYSTEM USER:"{print USER$1}' /etc/passwd SYSTEM USER:root SYSTEM USER:bin ...中間省略... SYSTEM USER:ntp SYSTEM USER:tcpdump COMMOM USER:masuri

五、PATTERN部分總結

PATTEN:awk在執行時會根據pattern條件,過濾匹配的行,再做處理。
pattern的條件可以有以下幾種:

1.空

如果pattern部分為空,則默認匹配每一行
示例:打印所有行

[root@centos7 ~]# awk '{print $0}' /etc/fstab# # /etc/fstab # Created by anaconda on Tue Mar 5 21:07:19 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=45490aa4-cf29-420d-a606-af32688b6707 / xfs defaults 0 0 UUID=15dcd896-b7cf-48d0-b8bd-4c0b0f2c62b2 /boot xfs defaults 0 0 UUID=4b6e1813-2c46-402a-869a-02cbbcb76ade /data xfs defaults 0 0 UUID=0995b444-48c1-4423-92bc-2deda0d3c082 swap swap defaults 0 0

2.正則表達式

/regular expression/:僅處理能夠被模式匹配到的行,需要用//括起來
示例:找出/etc/passwd中以g開頭的行的第1字段和第3字段

[root@centos7 ~]# awk -F: '/^g/{print $1,$3}' /etc/passwd games 12 gluster 993 geoclue 992 gdm 42 gnome-initial-setup 989

3.關系表達式

relational expression: 關系表達式,結果為“真”才會被處理
真和假的定義:
3.1真:結果為非0值,非空字符串
示例1: 當有值時為真,輸出所有。

[root@centos7 ~]# seq 3 | awk '2' 1 2 3

示例2:當數字為負數時,輸出也為真

[root@centos7 ~]# seq 3 | awk '"-1"' 1 2 3

示例3:當中間的數字為空格時也為真

[root@centos7 ~]# seq 3 | awk '" "' 1 2 3

3.2假:結果為空字符串或0值,假則不會被處理
示例1:當值為空和0時不做輸出

[root@centos7 ~]# seq 5 | awk '""' [root@centos7 ~]# seq 5 | awk '0' [root@centos7 ~]#

示例2:在awk中不加字符不添加雙引號表示為變量,變量為空和0時也為假,變量中有值時為真

[root@centos7 ~]# seq 5 | awk 'i' #變量中沒有值,假 [root@centos7 ~]# seq 5 | awk -v i=1 'i' #變量中有值,真,輸出結果 1 2 3 4 5

4.行范圍

pattern可以使用行范圍進行匹配
/pat1/,/pat2/ 不支持直接給出數字格式
示例:打印b開頭的行到f開頭的行

[root@centos7 ~]# awk '/^b/,/^f/' /etc/passwd bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

5.BEGIN/END模式

BEGIN{}:僅在開始處理文件中的文本之前執行一次
END{}:僅在文本處理完成之后執行一
示例1:使用BEGIN來添加表頭,做格式化輸出。

[root@centos7 ~]# awk -F: 'BEGIN{print "|USERNAME |UID\n------------------------------------"}{printf "|%-30s |%-10d\n--------------------------------------\n",$1,$3}' /etc/passwd |USERNAME |UID ------------------------------------ |root |0 -------------------------------------- |bin |1 -------------------------------------- |daemon |2 -------------------------------------- |adm |3 -------------------------------------- |lp |4 -------------------------------------- |sync |5 -------------------------------------- |shutdown |6

六、awk控制語句

流程控制語句是任何程序設計語言都不能缺少的部分。任何好的語言都有一些執行流程控制的語句。awk提供的完備的流程控制語句類似于C語言,這給我們編程帶來了極大的方便。
awk控制語句有:if-else,while循環,do-while循環,for循環,break,continue,delete array[index],delete array,exit

1.if-else

使用場景:對awk取得的整行或某個字段做條件判斷
語法:

if(condition){statement;…}[else statement] if(condition1){statement1}else if(condition2){statement2}else{statement3}

示例:1.打印出/etc/passwd下uid大于1000的行

[root@centos7 ~]# awk -F: '{if($3>1000)print $0}' /etc/passwd nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

示例2:如果Uid為偶數則打印出uid和用戶名

[root@centos7 ~]# awk -F: '{if($3%2==0)print $1,$3}' /etc/passwd root 0 daemon 2 lp 4 shutdown 6 mail 8 games 12 ftp 14 systemd-network 192 libstoragemgmt 998 rpc 32 saslauth 996 rtkit 172 nfsnobody 65534 unbound 994 geoclue 992 saned 990 gdm 42 sshd 74 avahi 70 ntp 38 tcpdump 72 masuri 1000

示例3:考試成績判斷,60及格,80分還行,80分以上真棒,60以下不及格

[root@centos7 ~]# awk -v score=80 'BEGIN{if(score<60){print "no pass"}else if(score<=80){print "just so so"}else if(score>80){print "good"}}' just so so

2.while循環

使用場景:
1.對一行內的多個字段逐一類似處理時使用
2.對數組中的各元素逐一處理時使用
語法:

while(condition){statement;...}

條件為真進入循環,條件為假退出循環。
示例1:打印/etc/password第一行每一字段的長度

[root@centos7 ~]# awk -F: 'NR==1{i=1;while(i<=NF){print $i,length($i);i++}}' /etc/passwd root 4 x 1 0 1 0 1 root 4 /root 5 /bin/bash 9

示例2:取出最大值和最小值

[root@centos7 ~]# awk -F, '{max=$1;mix=$1;i=1;while(i<=NF){if($i>max){max=$i};if($i<mix){mix=$i};i++};print mix,max}' test1 207 31976

示例3:1+2+3+..+100

[root@centos7 ~]# awk 'BEGIN{i=1;while(i<=100){sum+=i;i++}print sum}' 5050

3.for循環

常用語法:

for(expr1;expr2;expr3){statement;...}

特殊用法:便利數組中的元素
語法:

for(i in arrary){for body}

示例1:for循環1+到100

[root@centos7 ~]# awk 'BEGIN{for(i=1;i<=100;i++){sum+=i}print sum}' 5050

4.break和continue

break為提前結束循環
continue為提前結束本次循環,進入下一次循環
示例:將1到100的偶數相加

[root@centos7 ~]# awk 'BEGIN{for(i=1;i<=100;i++){if(i%2==0){sum+=i}}print sum}' 2550

1-100的偶數相加,當i=50時跳出不加,繼續執行后續循環

[root@centos7 ~]# awk 'BEGIN{for(i=1;i<=100;i++){if(i==50){continue};if(i%2==0){sum+=i}}print sum}' 2500

1-100的偶數相加,當i=50時跳出所有循環

[root@centos7 ~]# awk 'BEGIN{for(i=1;i<=100;i++){if(i==50){break};if(i%2==0){sum+=i}}print sum}' 600

5.next

next是提前結束對本行的處理直接進入下一行的處理,next跳出的是awk自身的循環。
示例:
打印Uid為偶數的行

[root@centos7 ~]# awk -F: '{if($3%2==!0){next}print $1,$3}' /etc/passwd root 0 daemon 2 lp 4 shutdown 6 mail 8 games 12 ftp 14 systemd-network 192 libstoragemgmt 998 rpc 32 saslauth 996 rtkit 172 nfsnobody 65534 unbound 994 geoclue 992 saned 990 gdm 42 sshd 74 avahi 70 ntp 38 tcpdump 72 masuri 1000

七、awk數組

awk數組為關聯數組:array[index-expression]
index-expression為數組下標
數組在使用時需注意以下幾點:
1.數組下標可使用任意字符串;字符串要使用雙引號括起來
2.如果某數組元素事先不存在,在引用時,awk會自動創建此元素,并將其初始化為“空串”
3.若要判斷數組中是否存在某元素,要時用“index in array”格式進行遍歷

示例:給數組賦值,和輸出數組

[root@centos7 ~]# awk 'BEGIN{arr["ceo"]="mage";arr["cto"]="laowang";print arr["ceo"]}' mage [root@centos7 ~]# awk 'BEGIN{arr["ceo"]="mage";arr["cto"]="laowang";print arr["cto"]}' laowang

若要遍歷數組中的每個元素,要使用for循環

for(var in array){for-body}

注意:var會遍歷arry的每個索引
示例:遍歷數組,可以先將數組下標賦給i

[root@centos7 ~]# awk 'BEGIN{arr["ceo"]="mage";arr["cto"]="laowang";for(i in arr){print arr[i]}}' mage laowang

示例2:數組的其他用法:去重
創建一個文件輸入以下內容,然后執行awk命令

[root@centos7 ~]# cat f1.txt aa bb cc aa 11 22 11 [root@centos7 ~]# awk '!line[$0]++' f1.txt aa bb cc 11 22

此方法比較繞,讀入第一行aa作為數組line的下標,此時數組內的值為空“假”取反后為真打印此行,然后再執行++,此時line內的值為1,當再次遇到aa的行時,數組line[aa]內有值1,取反后為假不輸出,然后再++此時[aa]內值為2
驗證:

[root@centos7 ~]# awk '{!line[$0]++;print $0,line[$0]}' f1.txt aa 1 bb 1 cc 1 aa 2 11 1 22 1 11 2

示例:數組的高級用法
取連接狀態數

[root@centos7 ~]# netstat -tna | awk '/^tcp/{state[$NF]++}END{for(i in state){print i,state[i]}}' #state[$NF]++表示將最后一個字段作為數組的下標,然后對里面的值+1,當再次遇到相同的下標時,再次加1 LISTEN 11 ESTABLISHED 1

統計每個ip的連接次數

[root@centos7 ~]# awk '{ip[$1]++}END{for(i in ip){print i,ip[i]}}' access_log 172.20.0.200 1482 172.20.21.121 2 172.20.30.91 29 172.16.102.29 864 172.20.0.76 1565 172.20.9.9 15 172.20.1.125 463 172.20.61.11 2 172.20.73.73 198 172.20.107.222 3 172.20.0.222 2834 172.20.111.240 4

取出連接數排名前10的ip

[root@centos7 ~]# awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' access_log | sort -nr | head 4870 172.20.116.228 3429 172.20.116.208 2834 172.20.0.222 2613 172.20.112.14 2267 172.20.0.227 2262 172.20.116.179 2259 172.20.65.65 1565 172.20.0.76 1482 172.20.0.200 1110 172.20.28.145

小練習:
統計男女生的平均分數

namescoregender
a100m
b99f
c80m
d98f
[root@centos7 ~]# awk -F" +" 'NR>1{num[$3]++;sum[$3]+=$2}END{for(i in sum)print i,sum[i]/num[i]}' score m 90 f 98.5

八、字符串處理

1.length([s]):返回字符串的長度
示例:

[root@centos7 ~]# awk 'BEGIN{print length("abc")}' 3

2.sub(r,s,[t]):對t字符串搜索r表示的模式匹配的內容,并替換為s所表示的內容(只替換第一次匹配到的)
示例:

[root@centos7 ~]# echo "2008:08:08 08:08:08" | awk '{sub(/:/,"-",$1);print $0}' 2008-08:08 08:08:08

3.gsub(r,s,[t]):對t字符串搜索r表示的模式匹配的內容,并全部替換為s所表示的內容
示例:

[root@centos7 ~]# echo "2008:08:08 08:08:08" | awk '{gsub(/:/,"-",$1);print $0}' 2008-08-08 08:08:08

4.splits(s,arry,[r]):以r為分隔符,切割字符串,并將切割后的字符串保存至array做表示的數組中,第一個索引值為1,第二個索引值為2,...
示例:

[root@centos7 ~]# echo "2008:08:08 08:08:08" | awk '{split($0,arr,":");}END{for(i in arr){print i,arr[i]}}' 4 08 5 08 1 2008 2 08 3 08 08

用函數來實現ip連接次數

[root@centos7 ~]# awk '/^ESTAB/{split($NF,ip,":");count[ip[1]]++}END{for(i in count){print i,count[i]}}' ss.log 192.168.172.1 465

九、自定義函數

語法:

function name (parameter,parameter,...){statementsreturn experssion }

示例:
awk函數定義方法

[root@centos7 ~]# cat fun.awk #!/bin/awk -f function max(x,y){ #x,y為行參x>y?var=x:var=yreturn var } BEGIN{print max(a,b)} #a,b為實參

awk函數調用

[root@centos7 ~]# awk -v a=40 -v b=50 -f fun.awk 50 [root@centos7 ~]#

十、awk中調用shell命令

system命令:空格是awk中的字符串連接符,如果system中需要使用awk中的變量可以使用空格分隔,或者說除了awk的變量外其他一律用“”引用起來
示例1:調用系統命令

[root@centos7 ~]# awk 'BEGIN{system(hostname)}' [root@centos7 ~]# awk 'BEGIN{system("hostname")}' centos7.localdomain [root@centos7 ~]# awk 'BEGIN{system("echo hello")}' hello [root@centos7 ~]# awk 'BEGIN{system("ls")}' 1.txt access.log f1.txt initial-setup-ks.cfg ss.log access_log anaconda-ks.cfg fun.awk ss.lg test1 [root@centos7 ~]#

示例2:輸出變量的方法
調用雙引號輸出變量時,變量必須放在雙引號外,如果放在雙引號內,變量只會被當作字符輸出

[root@centos7 ~]# awk -v var=hello 'BEGIN{system("echo var")}' var [root@centos7 ~]# awk -v var=hello 'BEGIN{system("echo"var)}' #echo后必須有空格 sh: echohello: command not found [root@centos7 ~]# awk -v var=hello 'BEGIN{system("echo" var)}' #并且空格必須再雙引號內 sh: echohello: command not found [root@centos7 ~]# awk -v var=hello 'BEGIN{system("echo "var)}' hello

十一、awk腳本

awk腳本格式:
1.腳本后綴為.awk
2.腳本首行加上#!/bin/awk -f
3.給腳本添加執行權限
示例:

[root@centos7 ~]# cat test.awk #查看腳本內容 #!/bin/awk -f #this is test awk script {if($3>1000)print $1,$3} [root@centos7 ~]# chmod +x test.awk [root@centos7 ~]# ./test.awk -F: /etc/passwd nfsnobody 65534

十二、向awk腳本傳遞參數

使用格式:

awkfile var=value var2=value2 ... inputfile

注意:在BEGIN過程中不可用。直到首行輸入完成以后,變量才可用??梢酝ㄟ^-v參數,讓awk在執行BIGIN之前得到變量的值。命令行中每一個指定的變量都需要一個-v參數。
示例:
創建一個腳本,此處以上一個腳本為例進行修改。

[root@centos7 ~]# cat test.awk #查看腳本內容 #!/bin/awk -f #this is test awk script $3>=min && $3<=max{print $1,$3} #其中min和max為位置參數,$1,$3表示awk所要掃描的文件中的字段。此處以/etc/passwd為例,就是對應的用戶名和UID[root@centos7 ~]# ./test.awk -F: min=10 max=20 /etc/passwd #找出uid再10-20之間的行 operator 11 games 12 ftp 14

轉載于:https://blog.51cto.com/11886307/2378463

總結

以上是生活随笔為你收集整理的awk快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

美女视频黄免费 | 99亚洲精品视频 | 色婷婷伊人| 婷婷在线免费视频 | 亚洲黄a | 涩涩网站在线 | 成人久久视频 | 天天射天天色天天干 | av在线一 | 婷婷六月久久 | 亚洲日本中文字幕在线观看 | 在线免费看片 | av成人在线看 | 日韩精品免费在线视频 | 深爱开心激情网 | 精品9999 | 国产精品麻豆果冻传媒在线播放 | 国产精品久久久久久吹潮天美传媒 | 国产成人福利在线观看 | 粉嫩高清一区二区三区 | 亚洲美女视频在线 | 天天综合狠狠精品 | 亚洲精品乱码久久久久久久久久 | www在线免费观看 | 免费a视频 | 在线成人欧美 | 最新av电影网址 | aaa日本高清在线播放免费观看 | 日韩a在线播放 | 91精品入口| 特级毛片在线免费观看 | 国产精品久久嫩一区二区免费 | 99热9 | 久久亚洲欧美日韩精品专区 | 精品一区二区免费 | 国产精品成人一区二区三区吃奶 | 中文视频在线播放 | 97精品国产91久久久久久 | 人人添人人澡人人澡人人人爽 | 91九色最新 | 免费av电影网站 | 在线日韩中文字幕 | 国产成人精品一区二区三区福利 | 天天综合色 | 99久久精品国产欧美主题曲 | 国产精品免费小视频 | 97电影院在线观看 | 久久久久国产精品一区二区 | 九九天堂 | 国产精品久久久久久久久久了 | 国产福利av | 91桃色视频 | 婷婷六月综合亚洲 | 日韩精品一区二区三区水蜜桃 | 国产一区二区三区免费视频 | 波多野结衣电影一区 | 99久久精品国产一区二区三区 | 免费观看黄| 91精品国产自产在线观看 | 国产综合精品久久 | 亚洲精品久| 免费三级大片 | 婷婷伊人综合 | 99精品在线直播 | 欧美午夜久久久 | 免费网站观看www在线观看 | 五月天激情视频在线观看 | 婷婷国产一区二区三区 | 国产精品观看在线亚洲人成网 | 99久久这里只有精品 | 亚洲成人一区 | 久草国产在线观看 | 色综合久久88色综合天天6 | 成人黄色小说视频 | 天天插伊人 | 日韩一区二区三区免费电影 | 午夜精选视频 | 久久精品视频在线播放 | 欧美日韩另类在线 | 久草国产视频 | 99久久9| 美女视频永久黄网站免费观看国产 | 久久免费毛片 | 黄色av电影在线观看 | 天天拍天天干 | 天天色天天搞 | 久久久精品网站 | 国内精品久久久久久久久久久 | 视频 天天草 | 精品产品国产在线不卡 | 成人在线免费小视频 | 久久r精品 | 国产免费看 | 在线观看视频一区二区 | av一级片 | 午夜精品久久久久久久久久久 | 久久免费99| 亚洲精品久久视频 | 日韩高清国产精品 | 最新极品jizzhd欧美 | 69视频网站 | 狠狠操欧美 | 欧美一级视频在线观看 | 久草视频在 | 免费日韩一级片 | 91综合视频在线观看 | 三级黄色大片在线观看 | 69国产盗摄一区二区三区五区 | 天天干人人 | 91在线看 | 黄色在线观看免费 | 亚洲精品在线一区二区三区 | 久久96国产精品久久99漫画 | 国产一级做a爱片久久毛片a | 日韩精品播放 | 日韩高清www | 国产a国产a国产a | 午夜成人免费电影 | 亚洲国产欧美在线人成大黄瓜 | 日韩中文字幕91 | av免费看电影 | 在线观看免费色 | 日日干天天干 | 日韩一区二区免费在线观看 | 日韩精品三区四区 | 成人午夜黄色影院 | 色国产精品一区在线观看 | 久久免费中文视频 | 久草久视频 | 97涩涩视频 | 中文字幕精品一区二区三区电影 | 天天操夜夜叫 | 视频在线在亚洲 | 黄色毛片视频 | 91精品啪啪 | 最新日韩电影 | 天天爱天天插 | 伊人色**天天综合婷婷 | 色婷婷狠狠18| 91免费版在线观看 | 国产黄在线 | 国产99久久精品 | 国产精品久久在线观看 | 天天干,天天干 | 99re8这里有精品热视频免费 | 一级性视频 | 国产精品久久一区二区三区不卡 | 成人av在线网| 日韩激情影院 | 天堂av在线网站 | 久久综合久久综合这里只有精品 | 韩日av一区二区 | 99色网站 | av黄色免费网站 | 中文字幕在线观看网址 | 久久久久网站 | 久久久婷 | 国产白浆在线观看 | 在线电影中文字幕 | 国产精品99久久免费观看 | 日本在线中文 | 在线国产片| 国产精品久久久999 国产91九色视频 | 操操操综合 | 成人sm另类专区 | 亚洲成av人片一区二区梦乃 | 超碰在线最新地址 | 久久亚洲在线 | 麻豆视频国产 | 久久er99热精品一区二区 | 免费精品人在线二线三线 | av青草 | 美女一区网站 | 91精品无人成人www | 亚洲日韩中文字幕 | 日韩毛片在线一区二区毛片 | 91精品在线观看视频 | 色中文字幕在线观看 | 亚洲精品国产精品国自产 | 国产成人精品av在线观 | 精品久久久久久国产 | 日本久久不卡视频 | 精品免费在线视频 | 天天天在线综合网 | 国产一卡在线 | 激情视频综合网 | 午夜体验区| 99久久99久国产黄毛片 | 久久国内精品视频 | 久久精品99国产精品亚洲最刺激 | 久久96国产精品久久99漫画 | 欧美日韩国产一二三区 | 国际精品久久久久 | 区一区二在线 | 日本不卡视频 | 成年人免费在线观看网站 | 最近2019好看的中文字幕免费 | 欧美黄色软件 | 日本中文在线播放 | 在线激情影院一区 | 中文字幕在线中文 | 特级西西人体444是什么意思 | 国产视频欧美视频 | 丁香婷婷亚洲 | 97人人模人人爽人人少妇 | 在线看v片成人 | 黄色a视频免费 | 亚洲精品资源在线观看 | 69av视频在线观看 | 黄色日本免费 | 日本系列中文字幕 | 日日夜夜天天久久 | www.av中文字幕.com | 成全免费观看视频 | 日韩精品中文字幕有码 | 国产一区免费 | 久草在线视频免赞 | 在线精品观看 | 国产午夜在线观看 | 美女免费视频一区 | 欧美国产精品一区二区 | 国产午夜三级一区二区三 | 久久这里只有精品视频99 | 欧美成人精品xxx | 久久精品视频免费 | 大型av综合网站 | 成人免费视频播放 | 色婷婷97| 久久久www成人免费精品张筱雨 | 五月激情在线 | 欧美男男tv网站 | 不卡精品视频 | 99精品黄色片免费大全 | 亚洲三级av| 一本一道波多野毛片中文在线 | 蜜桃视频在线视频 | 91桃色在线免费观看 | 中文在线字幕免费观看 | 91看片在线免费观看 | 97理论电影 | 日本公妇在线观看 | 在线观看精品一区 | 五月天电影免费在线观看一区 | 国产专区精品视频 | 国产精品久久久久久久久久尿 | 国产精品永久 | sesese图片| 国产一区二区在线播放 | 97人人模人人爽人人喊网 | 99视频免费在线观看 | 午夜影视剧场 | 国产婷婷久久 | 欧美性久久久 | 久久久久久国产精品美女 | 欧美一区二区三区免费看 | 丁香花在线观看免费完整版视频 | 欧美精品久久久久久 | 97视频免费在线 | 97电影手机版 | 丁香六月五月婷婷 | 色偷偷88888欧美精品久久 | 免费a网| 日韩18p| 伊人久久电影网 | 成人黄色片在线播放 | 久久精品一区二区国产 | 亚洲欧美精品在线 | 国产美女永久免费 | 91香蕉视频黄 | 国产成人精品av | 欧美色婷 | 久久综合狠狠综合久久狠狠色综合 | 亚洲经典视频 | 国产69精品久久app免费版 | 伊人狠狠色丁香婷婷综合 | 伊人中文在线 | 久久免费看片 | 欧美日韩在线视频观看 | 五月婷婷在线观看 | 97超视频免费观看 | 亚洲日本国产精品 | 91色在线观看视频 | 狠狠天天 | 久综合网| 麻花豆传媒一二三产区 | 午夜精品三区 | 成人性生交大片免费观看网站 | 91精品老司机久久一区啪 | 国产免费观看视频 | 中文在线8新资源库 | 日韩在线网 | 精品一区二区在线免费观看 | 日本精品二区 | 亚洲午夜精品久久久久久久久 | 亚洲欧美婷婷六月色综合 | www欧美色 | 波多野结衣在线视频一区 | av在线之家电影网站 | 日韩精品欧美视频 | 日本天天色 | 美女网站在线看 | 中文字幕免费一区二区 | 一区二区激情 | 日本三级不卡视频 | 激情视频在线观看网址 | av网在线观看| 精品国产区 | 日韩一区二区三区在线看 | 五月天综合网站 | 久久99精品国产99久久 | 欧美精品在线一区二区 | 亚洲丝袜一区二区 | 国产精品短视频 | 久久成人视屏 | www.亚洲精品视频 | 日韩高清免费无专码区 | 狠狠躁天天躁综合网 | 国产精品免费久久久久 | 美女黄濒| 美女久久久久久 | 日韩欧美精品一区二区三区经典 | 国产日产亚洲精华av | 久久久www成人免费毛片 | 又粗又长又大又爽又黄少妇毛片 | 亚洲一二三久久 | 麻豆视频入口 | 中文字幕中文字幕在线一区 | 区一区二区三区中文字幕 | 久久久久女人精品毛片 | 九九九毛片 | 国产一区二区在线免费播放 | 黄色在线看网站 | 91精品国产92久久久久 | 亚洲黄色av | 亚洲人成人在线 | 国产精品区一区 | av噜噜噜在线播放 | 99国产免费网址 | 奇米影视8888在线观看大全免费 | 热久久国产 | 免费人做人爱www的视 | 亚洲毛片久久 | 天堂av免费在线 | 免费av网址在线观看 | 天海冀一区二区三区 | 最新日韩中文字幕 | 日韩xxxxxxxxx| 精品国产网址 | 亚洲波多野结衣 | 国产亚洲精品久久久网站好莱 | 少妇高潮冒白浆 | 国产精品久久久久久一区二区三区 | 婷婷国产v亚洲v欧美久久 | 超碰人人av | 亚洲精品国产麻豆 | 韩国在线一区二区 | 成人av电影在线播放 | 久一在线 | 日韩激情影院 | 国产精品美女久久久久久久久久久 | 欧美一区二区三区免费看 | 中文字幕在线观看一区 | 欧美另类69| 天天天操天天天干 | 色婷婷狠狠五月综合天色拍 | 特级西西人体444是什么意思 | 国产一线天在线观看 | av片在线观看免费 | 丁香资源影视免费观看 | 精品九九九九 | 午夜少妇一区二区三区 | 日韩欧美精品一区二区三区经典 | 深爱综合网 | 日韩一区二区三区在线看 | 午夜精品电影一区二区在线 | 99免费在线视频 | 日韩电影在线观看一区 | 欧美一级欧美一级 | 欧美一区二区三区在线 | 久久一视频 | 福利一区二区三区四区 | av在线亚洲天堂 | 成人欧美一区二区三区黑人麻豆 | 一本之道乱码区 | 一区二区三区免费在线播放 | 欧美福利片在线观看 | 免费在线观看亚洲视频 | 国产日产精品久久久久快鸭 | 69av久久| 国产看片 色 | 国产高清 不卡 | 欧美日韩综合在线 | 中文字幕av一区二区三区四区 | 丁香花在线视频观看免费 | 色综合色综合久久综合频道88 | 日日麻批40分钟视频免费观看 | 日韩在线观看你懂的 | 国产精品原创av片国产免费 | 人人爱人人添 | 久久天堂亚洲 | 91精品国产欧美一区二区成人 | 91天堂影院 | 久久夜夜操 | 天天色播 | 精品国产精品一区二区夜夜嗨 | 99久视频 | 国产香蕉视频在线观看 | 激情av在线播放 | 国产欧美精品一区二区三区 | 免费看一级一片 | 欧美二区视频 | 天天曰天天 | 开心激情五月婷婷 | 精品毛片久久久久久 | 一区电影| 亚洲第一区在线观看 | 香蕉视频在线网站 | 最新国产精品亚洲 | 黄色三几片 | 81国产精品久久久久久久久久 | 西西4444www大胆无视频 | 国产高清免费av | 日日夜夜国产 | 久久污视频 | 午夜久操| 激情av资源 | 亚洲日b视频 | 香蕉在线观看 | 美女视频免费精品 | 欧美一区视频 | 91精品免费视频 | 久草视频在线资源站 | 国产亚洲精品成人av久久影院 | 粉嫩av一区二区三区四区在线观看 | 国产黄色片久久 | 亚洲精品乱码久久久久久 | 国产喷水在线 | 激情五月婷婷激情 | 特级大胆西西4444www | 亚洲成人免费在线 | 久久久久久看片 | 激情综合色综合久久综合 | 手机成人在线 | 999电影免费在线观看2020 | 免费看国产视频 | 日韩国产精品久久 | 免费久久视频 | 一区二区三区四区精品视频 | 99精品视频免费在线观看 | 久草精品国产 | 中文字幕资源网 国产 | 欧美三级高清 | 91精品1区| 久久精品激情 | 久草在线国产 | 999久久久欧美日韩黑人 | 国产不卡在线视频 | 91传媒在线观看 | 亚洲国产伊人 | 国产精品99免视看9 国产精品毛片一区视频 | 免费色视频 | 天天色播 | 草久在线| 在线观看免费视频你懂的 | 一本一道波多野毛片中文在线 | 免费精品久久久 | 国产一区二区三区黄 | 日韩在线视频看看 | 在线免费黄色av | 久久成人免费 | 国产品久精国精产拍 | av在观看| 美女视频黄是免费的 | 日韩福利在线观看 | 欧美综合色 | 久草在线精品观看 | 久久精品韩国 | 日韩久久一区二区 | 美女视频黄免费网站 | 国产中文字幕在线免费观看 | 日本久久影视 | 国产成人一二三 | 天堂在线视频中文网 | 日韩精品免费一区二区三区 | 成年人电影免费看 | 婷婷激情五月 | 中文字幕高清有码 | 97碰碰碰| 国偷自产中文字幕亚洲手机在线 | 免费在线日韩 | 免费在线中文字幕 | 九九精品视频在线 | 99re8这里有精品热视频免费 | 一本一本久久a久久精品牛牛影视 | 精品久久久久久亚洲综合网站 | 91免费在线播放 | 久草视频在 | 97人人模人人爽人人少妇 | 黄色小说免费观看 | 高清不卡一区二区三区 | 色五月激情五月 | 成人欧美一区二区三区黑人麻豆 | 日韩成人在线免费观看 | 99精品视频免费看 | 69精品人人人人 | 日韩国产欧美在线视频 | 在线观看91视频 | 亚洲精品动漫久久久久 | 久久激情五月激情 | 精品一区二区免费在线观看 | 国产免费a | 97香蕉久久国产在线观看 | 国产高清无av久久 | 亚洲 欧美日韩 国产 中文 | 国产美女在线免费观看 | 四虎国产 | 99这里只有精品99 | 波多野结衣视频一区二区 | 日韩69av | 在线成人性视频 | 久久精品一二三 | 成人在线黄色电影 | 日韩电影一区二区三区在线观看 | 在线日本看片免费人成视久网 | 18做爰免费视频网站 | 日韩一区二区在线免费观看 | 中文字幕亚洲情99在线 | 国产二级视频 | 成人精品影视 | 91精品秘密在线观看 | 成年在线观看 | 国产综合福利在线 | 久久综合偷偷噜噜噜色 | 91视频久久| 久久综合给合久久狠狠色 | 日韩a在线观看 | 亚洲精品国久久99热 | 国产精品第72页 | 99久久综合国产精品二区 | 亚洲精品久久久久999中文字幕 | 国产日韩精品一区二区三区在线 | 国产精品黄网站在线观看 | 国产精品中文字幕在线 | 国产成人一区二区三区 | 性色av一区二区三区在线观看 | 国产天天爽 | 欧美片一区二区三区 | 丝袜美女在线观看 | 日批视频 | 国产一区国产二区在线观看 | 国产伦精品一区二区三区四区视频 | 天天亚洲综合 | 亚洲91网站| 午夜精品久久久久久久99无限制 | 色全色在线资源网 | 国产高清久久久久 | 国产中文 | 一区二区三区动漫 | av短片在线 | 中文av在线天堂 | 欧美日韩国产综合网 | 日韩精品一区二区三区免费视频观看 | 色九色 | 西西444www大胆高清视频 | 日韩免费一区二区三区 | 999成人免费视频 | 免费精品 | 成人精品一区二区三区中文字幕 | 特级免费毛片 | 国产四虎在线 | 青青草华人在线视频 | 欧美大片在线看免费观看 | 免费看三级 | 亚洲视频 中文字幕 | 成年人在线免费看 | 在线91av | 亚洲永久精品在线观看 | 国产精品亚洲综合久久 | 国产成人一区三区 | 久久深夜| 日韩中文字幕免费视频 | 久久久久久久久久免费视频 | 亚洲影音先锋 | 午夜91视频 | 亚洲视频播放 | 国内免费久久久久久久久久久 | 亚洲va男人天堂 | 国产系列 在线观看 | 91精品办公室少妇高潮对白 | 亚洲精品免费播放 | 亚洲人成在线观看 | 亚洲电影影音先锋 | 91精品国产综合久久福利 | 久久精品99国产 | 色www永久免费 | 国产精品久久久久久一区二区 | 国产精品 中文在线 | 一区二区三区精品久久久 | 国产成人精品电影久久久 | 黄色av电影 | 精品美女视频 | 99色人| 中文国产在线观看 | 国内视频 | 精品一区二区精品 | 日韩电影中文,亚洲精品乱码 | 免费在线观看av不卡 | 久久手机免费观看 | 在线视频 成人 | 麻豆91网站| 国产在线精品一区二区三区 | 国产69精品久久久久99尤 | 精品视频久久 | 国产精品自产拍在线观看蜜 | www.夜夜| 国产一级片毛片 | 欧美韩日视频 | 免费视频在线观看网站 | 国产在线a视频 | 中文一区二区三区在线观看 | 97精品国自产拍在线观看 | 99久久精品视频免费 | 涩涩网站在线观看 | 最新av网址在线 | 综合久久久久久久久 | 日本性久久 | 特黄特黄的视频 | 亚洲精品在线观看的 | 亚洲成人精品 | 国产91电影在线观看 | 国产麻豆剧果冻传媒视频播放量 | 欧美日韩一区二区三区视频 | 九九九在线观看视频 | 国产精品乱码久久 | 久久精品免费观看 | 狠狠色噜噜狠狠狠合久 | 国产精品一区二区久久精品爱涩 | 91久久国产精品 | 四虎4hu永久免费 | 成人手机在线视频 | 国产黄网站在线观看 | 日韩理论在线观看 | 青春草视频在线播放 | 在线观看韩日电影免费 | 日韩精品一区二区三区免费视频观看 | 狠狠色狠狠色合久久伊人 | 7799av| 久久精品伊人 | 国内免费久久久久久久久久久 | 久久久久亚洲国产精品 | 日韩久久激情 | 五月婷婷久久综合 | 操老逼免费视频 | 91福利区一区二区三区 | 亚洲黄色在线 | 久久一区二 | 中文区中文字幕免费看 | 91资源在线观看 | 亚洲爱爱视频 | 奇米影视在线99精品 | 亚洲狠狠操 | 亚洲成熟女人毛片在线 | 国内精品久久影院 | 国产精品久久久久久久久久久久冷 | 亚洲在线视频观看 | 国产剧情一区二区在线观看 | 美女在线国产 | 国产精品毛片一区二区在线看 | 色综合久久88色综合天天免费 | 超碰av在线播放 | 丁香色综合 | 国产精品久久久久久麻豆一区 | 国产精品国产亚洲精品看不卡 | 天天爽综合网 | 黄色com| 中文字幕一二 | 亚洲精品视频免费在线观看 | 日本少妇高清做爰视频 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 99热最新地址| 国产亚洲欧洲 | 天堂视频中文在线 | 91试看 | 一级特黄aaa大片在线观看 | 五月婷社区 | 久久噜噜少妇网站 | 亚洲成人av电影 | 波多野结衣视频一区二区三区 | 亚洲日本在线一区 | 国产日产欧美在线观看 | 国产免费观看视频 | 精品国产一区二区三区久久久 | 国产精品99久久久久的智能播放 | 午夜av在线电影 | 在线一区观看 | 五月婷婷导航 | 天天操天天操天天操天天操天天操 | 草久中文字幕 | 国产欧美综合视频 | av电影不卡在线 | 婷婷天天色 | 欧美成人h版| 91 在线视频 | 成人av影视| 久久精品看 | 欧美精品一区二区免费 | 日韩欧美在线观看一区二区三区 | 99久久精品免费 | 久久久久久国产一区二区三区 | 欧美精品做受xxx性少妇 | 97精品国产97久久久久久粉红 | 黄色一级性片 | 欧美日韩91 | 成人中心免费视频 | av黄色av | 欧美男同视频网站 | 久久人人爽av | 国产精品成人久久久久久久 | 狠狠色噜噜狠狠 | 亚洲激情综合网 | 亚洲最新视频在线播放 | 日韩最新av在线 | 国产在线精品一区 | 久草国产在线观看 | 久久大视频 | 欧美一级视频在线观看 | 成年人在线视频观看 | av国产网站 | 色综合久 | 久在线观看 | 亚洲精品国产精品乱码在线观看 | 成人在线免费视频观看 | 欧美aa级 | 国产露脸91国语对白 | 久久精品影片 | 国产一区在线看 | 日韩精品你懂的 | 在线免费观看欧美日韩 | 久久一区二区三区超碰国产精品 | 国产精品一区二区三区视频免费 | 国产中出在线观看 | 日韩精品资源 | 亚洲视频999 | 日韩综合一区二区 | 日韩在线免费视频 | 香蕉免费在线 | 亚洲免费国产视频 | 精品中文字幕在线 | 成人国产电影在线观看 | 久久综合亚洲鲁鲁五月久久 | 国产成人精品久久二区二区 | 亚洲精品视频免费观看 | 成人黄色在线电影 | 国产一卡二卡在线 | 樱空桃av | 欧美在线视频二区 | 亚洲精品在线观看视频 | 在线a视频免费观看 | 热久久视久久精品18亚洲精品 | a资源在线 | 激情婷婷在线观看 | 91污在线观看 | 98超碰在线 | 午夜丰满寂寞少妇精品 | 久久成人午夜视频 | 高清在线观看av | 国产精品一区二区三区免费视频 | 亚洲精品中文字幕视频 | 日韩电影一区二区在线观看 | 国产欧美在线一区二区三区 | 国产一在线精品一区在线观看 | 伊人久久影视 | 又粗又长又大又爽又黄少妇毛片 | 粉嫩av一区二区三区入口 | 一区二区三区免费在线观看视频 | 久久久这里有精品 | 97视频在线观看免费 | 欧美日韩一区二区免费在线观看 | 亚洲一区网站 | 九九热在线观看视频 | 欧美精品免费在线观看 | 成人毛片久久 | 97操操| 天天色影院 | 日韩精品一区二区三区视频播放 | 亚洲女同ⅹxx女同tv | 亚洲日本va午夜在线影院 | 久久精品视频网址 | 在线免费观看视频 | 综合久久五月天 | 一本—道久久a久久精品蜜桃 | 超黄视频网站 | 欧美日韩视频在线观看免费 | 欧美久久久影院 | 亚洲一区二区精品在线 | 日本一区二区高清不卡 | 国产精品99久久久久久久久久久久 | 天天干 天天摸 天天操 | 日韩久久激情 | 日韩精品91偷拍在线观看 | 日韩专区在线观看 | 久草网视频在线观看 | 最近高清中文字幕在线国语5 | 91精品国产91久久久久 | 成人av影院在线观看 | 国产一区二区高清不卡 | av电影中文| 九九热免费在线观看 | 久久精品99国产精品日本 | 欧美电影黄色 | www.久草.com | 国产在线观看高清视频 | 91精品国产成人观看 | 日韩精品一区二区三区免费视频观看 | 最近最新最好看中文视频 | 日韩视 | 国产精品视频免费 | 午夜12点| 成人综合婷婷国产精品久久免费 | 成人丁香花| 亚洲精品456在线播放 | 日韩网站在线播放 | 精品福利视频在线 | 午夜狠狠干| 91在线看网站 | 麻豆影视在线播放 | 国产精品久久久久久久久久久久午夜 | 精品在线免费观看 | 国产午夜精品av一区二区 | 深爱激情综合网 | 成人黄色大片 | 国产精品少妇 | 中文字幕精品一区二区精品 | 久久国产经典 | 欧美一级乱黄 | 精品视频在线播放 | 丁香六月婷婷激情 | 天天干,天天射,天天操,天天摸 | 男女免费视频观看 | 天天爱天天干天天爽 | 国产在线观看中文字幕 | 91精品秘密在线观看 | 久久免费a| 麻豆精品传媒视频 | 欧美激情片在线观看 | 久久视频在线观看免费 | 麻豆视频在线 | 91网免费看 | 四虎国产精品免费观看视频优播 | 精品视频 | 中文字幕日本电影 | 免费观看久久久 | 免费特级黄毛片 | 国产午夜一级毛片 | 成人国产精品久久久春色 | 国产高清在线看 | 久久图 | 久久精品国产亚洲a | 国产精品岛国久久久久久久久红粉 | av成人免费| 日本韩国中文字幕 | 中文字幕免费不卡视频 | 国产成人精品一区二 | 天天色天天艹 | av中文字幕在线播放 | 国产精品久久久久久电影 | 国产精品中文久久久久久久 | 91网页版免费观看 | 99爱视频 | 蜜桃视频成人在线观看 | 久久国产精品99国产 | 国产老熟 | 国产精品久久久久一区二区三区 | 玖玖精品视频 | 久久精品视频播放 | 日韩在线视频免费看 | 日韩精品亚洲专区在线观看 | 久久艹艹| 91最新在线观看 | 美女久久一区 | 免费看污黄网站 | 免费在线观看一区二区三区 | 亚洲精品国内 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 西西人体4444www高清视频 | 九色福利视频 | 黄色一级片视频 | 久章操 | 日韩v欧美v日本v亚洲v国产v | 五月网婷婷 | 黄色成人在线 | 免费色视频网址 | 99久久精品久久久久久清纯 | 麻豆视频免费网站 | 亚洲三级网 | 色综合天天在线 | 97电影在线看视频 | 亚洲精品 在线视频 | 欧美成人aa| 日韩国产在线观看 | 国产xxxx性hd极品 | 色婷婷视频在线 | 免费久久99精品国产婷婷六月 | 国产在线精品国自产拍影院 | 婷婷色影院 | av韩国在线 | 免费观看国产精品视频 | 国产精品视频最多的网站 | 亚洲一区视频免费观看 | 一级做a视频 | 欧美综合色 | 国产96av| caobi视频| 日韩在线观看电影 | 日韩在线色 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 成人av av在线 | 亚洲精品在线观看中文字幕 | 亚洲婷婷在线视频 | 国产欧美日韩一区 | 日韩亚洲国产中文字幕 | 97超碰中文| 91在线视频免费观看 | 欧美一级网站 | av不卡免费在线观看 | 免费av看片 | 久久久久久久影视 | 免费又黄又爽视频 | 国产亚洲精品久久 | 国产91aaa| 2018亚洲男人天堂 | 国产无套视频 | 丁香婷婷亚洲 | 国产一区二区三区在线 | 欧美精品久久久久久久久久丰满 | 日韩av免费观看网站 | 免费黄色看片 | 福利视频导航网址 | 国产精品一区电影 | 粉嫩一区二区三区粉嫩91 | 国产亚洲精品久久久久久无几年桃 | 日韩av资源站 | 亚洲综合爱 | www色综合| 干综合网 | 夜夜干天天操 | 久久久久国产成人免费精品免费 | 成人啪啪18免费游戏链接 | 久久人人精 | 岛国大片免费视频 | 一区二区视频在线观看免费 | 免费高清男女打扑克视频 | 激情av在线资源 | 成年人视频免费在线播放 | 亚洲五月婷 | 亚洲日本一区二区在线 | 亚洲五月六月 | 夜夜躁日日躁狠狠躁 | 国产免费不卡 | 超碰在线个人 | 人人射人人插 | 日本中文字幕在线看 | 国产精品久久视频 | av中文字幕在线观看网站 | 人人狠狠综合久久亚洲 | 人操人| 91视频在线观看免费 | 精品96久久久久久中文字幕无 | 午夜精品久久久久久99热明星 | 一级做a视频 | 国产成人在线综合 | 不卡国产在线 | a成人v在线 | 亚洲精品久久久蜜桃直播 | 手机在线欧美 | 久久久污 | 天天干天天摸 | 欧美精品在线观看 | 午夜精品久久久久久 | 国产成人亚洲在线观看 | 综合网伊人| 中文字幕在线观看1 | 国产成人精品综合久久久 | 精品国产乱码一区二区三区在线 | 国产精品成久久久久三级 | 91成人精品观看 | 国产在线无 | 欧美精品视 | 美女网站在线 | 97av超碰 | 高清不卡一区二区在线 | 国产亚洲一区 | 亚洲天堂色婷婷 | 少妇av片 | 天天操天天摸天天爽 | 天海翼一区二区三区免费 | 欧美性护士| 激情欧美日韩一区二区 |