awk是指令仍是编程言语ITeye - 威尼斯人

awk是指令仍是编程言语ITeye

2019年03月20日08时11分57秒 | 作者: 惜芹 | 标签: 例例,东西,问题 | 浏览: 1831

六,实例

学习awk的时分,做了一个比如,学东西,不要光看,光看是记不住东西的。光看的话,或许你知道怎么回事,真实实际操作,不是这儿有问题,就是那儿有问题。所以一定要着手亲身操作一下。

 

1,测验文件test

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
mail:x:8:12:mail:/var/spool/mail:/bin/false
ftp:x:14:11:ftp:/home/ftp:/bin/false
 nobody:$:99:99:nobody:/:/bin/false
zhangy:x:1000:100:,,,:/home/zhangy:/bin/bash
http:x:33:33::/srv/http:/bin/false
dbus:x:81:81:System message bus:/:/bin/false
hal:x:82:82:HAL daemon:/:/bin/false
mysql:x:89:89::/var/lib/mysql:/bin/false
aaa:x:1001:1001::/home/aaa:/bin/bash
ba:x:1002:1002::/home/zhangy:/bin/bash
test:x:1003:1003::/home/test:/bin/bash
@zhangying:*:1004:1004::/home/test:/bin/bash
policykit:x:102:1005:Po

例1:

cat test | awk -F: {\
 if ($1  "root"){\
 print $1;\
 }else if($1  "bin"){\
 print $2;\
 }else{\
 print $3;\
}

例2:

awk {\
 for(i=0;i i++){\
 if ($i ~/^root/){\
 print $i;\
 }else if($i ~/zhangy/){\
 print $i;continue;\
 }else if($i ~/mysql/){\
 print $i;next;\
 }else if($i ~/^test/){\
 print $i;break;\
} test

 

例3:

tail test | awk BEGIN{while(getline d){ split(d,test);for(i in test){\
 print test[i]\
}}}

 

例4:

ls -al /home/zhangy/mytest | awk BEGIN{while(getline d){ split(d,test);\
 print test[9] ;}
}

 

例5:

echo "32:34" |awk -F: {print "max = ",max($1,$2)}\
function max(one,two){
if(one two){
 return one;
}else{
 return two;

 

例6:

#awk BEGIN{print "what is your name"; getline name "/dev/tty"}$1 ~name{print
#"found name on line" NR}END{print "see you" name} test
#awk {sub(/daemon/,"tankzhang");print} test
#awk {{sub(/zhangy/,"tankzhang");$1};print} test
#awk {{gsub(/zhangy/,"tankzhang");$1};print} test
#awk -F: {print index("zhangy",$1)} test
#awk -F: {print substr($1,1,2)} test
awk -F: {mat=match($1,/^[a-zA-Z]+$/);print mat,RSTART,RLENGTH} test

 

例7:

cat test |awk -F: \
 NF != 7{\
printf("line %d,does not have 7 fields:%s\n",NR,$0)}\
$1 !~ /^[A-Za-z0-9]/{printf("line %d,non alpha and numeric user id:%s: %s\n",NR,$1,$0)}\
$2  "*" {printf("lind %d,no password:%s\n",NR,$0)}

 


转载请注明
作者:海底苍鹰
地址:
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1
  • 2

    mac解压缩指令大全ITeye

    紧缩,文件,指令
  • 3

    联想T440P U盘发动ITeye

    挑选,装置,进入
  • 4
  • 5

    ll 运用ITeye

    文件,显现,最初
  • 6

    Samba服务器的装备ITeye

    目录,装备,用户
  • 7
  • 8
  • 9
  • 10