首页 > 系统服务 > 详细

shell awk

时间:2015-05-13 16:22:43      阅读:254      评论:0      收藏:0      [点我收藏+]
#!/bin/bash
# for ((i=1;i<=10000;i++)); 
# do 

# c1=`shuf -i 1-10000 -n 1` #生成随机数
# c2=`shuf -i 1-10000 -n 1`
# c3=`shuf -i 1-10000 -n 1`
# c4=`shuf -i 1-10000 -n 1`
# echo $c1 $c2 $c3 $c4 >>awk_column.txt;
# done
-------上面注释的部分用来生成
awk_column.txt

c1=`shuf -i 1-10000 -n 1`
c2=`shuf -i 1-10000 -n 1`
awk BEGIN {} {if ($1 == exclude1 || $1 == exclude2){print NR,$1;}} END {} exclude1=$c1 exclude2=$c2 awk_column.txt

awk格式:

BEGIN {} {pattern } END {}
#BEGIN,END,中间, 3个部分都是可选
#每一个{}都是一个循环体,会对文件中每一行进行迭代

 

外部传入awk参数2种方式:

第一种: -v (只能传一个参数)

awk -v exclude1=$c1 BEGIN {} {if ($1 == exclude1 ){print NR,$1;}} END {} awk_column.txt

第二种:

awk BEGIN {} {if ($1 == exclude1 || $1 == exclude2){print NR,$1;}} END {} exclude1=$c1 exclude2=$c2 awk_column.txt

几个常量:

NR:number of records, 行号
NF:number of fields,有几列
$0:执行过程中当前行的内容
$1:执行过程中当前行的第一个字段内容
$2:执行过程中当前行的第二个字段内容
......

 

shell awk

原文:http://www.cnblogs.com/lein-wang/p/4500570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!