- 论坛徽章:
- 18
|
awk 3.1.7下awk加--posix参数后可以识别限定符{2}了。
┌─[Fri Mar 30 05:53:36 CST 2018]
└─[root@hp8:/tmp]# echo "JF0139662"|awk --posix '{gsub(/^[a-zA-Z]{2}[0-9]+$/,"upi="$0)}1'
upi=JF0139662
┌─[Fri Mar 30 05:54:00 CST 2018]
└─[root@hp8:/tmp]#
将wh7211君的代码做如下修改以后,在awk3.1.7和awk4.0.2上可以得到相同的正确结果。
┌─[Fri Mar 30 06:18:13 CST 2018]
└─[root@hp8:/tmp]# cat a|awk --posix 'BEGIN{a[1]="^[a-zA-Z]{2}[0-9]{7}$";b[1]="upi=";a[2]="^[a-zA-Z]{3,8}$|^[a-zA-Z]{1,5}[0-9]{3}$";b[2]="uid=";a[3]="^[a-zA-Z-]+( +[a-zA-Z-]+){1,}$";b[3]="name=";a[4]="^[a-zA-Z]+[.][a-zA-Z]+@[a-zA-Z]+[.][a-zA-Z]+$";b[4]="email=";a[5]="^[0-9]{7}$";b[5]="employeenumber=";a[6]="^[0-9]{8}$";b[6]="seatid=";a[7]="^[+0-9]{11,}$";b[7]="mobile="}{for(i=1;i<=7;i++){gsub(a[i],b[i]$0)}gsub(/\ +/,"%20")}1'
uid=grahamx
employeenumber=6713568
name=CHOWDHARY%20Ashish
seatid=10077158
name=LIAO%20Wei-Rehn
upi=JF0139662
mobile=+86041132326000
uid=kewong
email=michael.shieh@aol.com
seatid=61401543
upi=BC0013246
name=WANG%20Xiao%20Qiang
mobile=+447513170113
uid=jchan013
name=ZHU%20Zhu%20Zhengqiao
employeenumber=4613714
mobile=13717260688
┌─[Fri Mar 30 06:18:38 CST 2018]
└─[root@hp8:/tmp]#
------------------------------------------------------------------------------------------
┌─[Fri Mar 30 06:15:14 CST 2018]
└─[root@shinagawa:/tmp]# cat a|awk --posix 'BEGIN{a[1]="^[a-zA-Z]{2}[0-9]{7}$";b[1]="upi=";a[2]="^[a-zA-Z]{3,8}$|^[a-zA-Z]{1,5}[0-9]{3}$";b[2]="uid=";a[3]="^[a-zA-Z-]+( +[a-zA-Z-]+){1,}$";b[3]="name=";a[4]="^[a-zA-Z]+[.][a-zA-Z]+@[a-zA-Z]+[.][a-zA-Z]+$";b[4]="email=";a[5]="^[0-9]{7}$";b[5]="employeenumber=";a[6]="^[0-9]{8}$";b[6]="seatid=";a[7]="^[+0-9]{11,}$";b[7]="mobile="}{for(i=1;i<=7;i++){gsub(a[i],b[i]$0)}gsub(/\ +/,"%20")}1'
uid=grahamx
employeenumber=6713568
name=CHOWDHARY%20Ashish
seatid=10077158
name=LIAO%20Wei-Rehn
upi=JF0139662
mobile=+86041132326000
uid=kewong
email=michael.shieh@aol.com
seatid=61401543
upi=BC0013246
name=WANG%20Xiao%20Qiang
mobile=+447513170113
uid=jchan013
name=ZHU%20Zhu%20Zhengqiao
employeenumber=4613714
mobile=13717260688
┌─[Fri Mar 30 06:21:29 CST 2018]
└─[root@shinagawa:/tmp]#
谢谢!
|
|