awk命令用法及编程

  


    1)内建变量

        FS:input field seperator(输入字段分隔符,默认为空白字符)

            #awk -v FS=':' '{print $1}'/etc/passwd

            #awk -F: ‘{print $1}’/etc/passwd(这个命令和上面的命令效果是一样的)

        注:使用FS可以一次使用多个字符做为分隔符;例:awk -v FS="[,:]" '{print $3,$1,$2}' d.txt

        OFS:output field seperator(输出字段分隔符,默认为空白字符)

            #awk -v FS=':' -v OFS=':' '{print $1,$3,$7}'/etc/passwd

        RS:input record seperator,输入时的换行符;

        ORS:output record seperator,输出时的换行符;

        NF:number of field,每一行字段数量

            {print NF},{print $NF}()

            一行中的最后一个字段用$NF表示

        NR:number of record,处理过的行数

            #awk ‘{print NR}’/etc/fstab

        FNR:每一个文件处理过的行数

            #awk ‘{print FNR}’/etc/fstab/etc/issue

        FILENAME:当前正在处理的文件的文件名

            #awk ‘{print FILENAME}’/etc/fstab

        ARGC:命令行参数的个数

            #awk 'BEGIN{print ARGC}'/etc/fstab

        ARGV:数组,保存的是命令行所给定的各参数

            #awk 'BEGIN{print ARGV[0]}'/etc/fstab

    2)自定义变量

        -v var=value

        变量名区分字符大小写;

        #awk -v test='Hello gawk' 'BEGIN{print test}'

        在program中直接定义

        #awk 'BEGIN{test="Hello gawk";print test}'

    算术运算操作符:

        x+y,x-y,x*y,x/y,x^y(次方),x%y

        -x

        +x:转换为数值

        字符串操作符:默认为没有符号的操作符:表示字符串连接

        赋值操作符:

            =,+=,-=,*=,/=,%=,^=

        比较操作符:

            >,>=,<,<=,!=,==

        模式匹配符:

            ~:是否匹配

            !~:是否不匹配

        逻辑操作符:

            &&:与

            ||:或

            !:非

        函数调用:

            function_name(argu1,argu2,...)

        条件表达式:

            selector?if-true-expression:if-false-expression

            #awk-F: '{$3>=1000?usertype=捌胀ㄓ没А?usertype=癝ysadminUser”; printf,,,,,,,,,null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

awk命令用法及编程