读书人

awk施用

发布时间: 2012-07-02 17:46:22 作者: rapoo

awk应用

a.txtandy    05/99   48311   Green   8       40      44congfeng        06/99   4317    green   9       24      26ljb     02/99   48      Yellow  12      35      28carl    07/99   4842    Brown-3 12      16      26rich    05/99   4712    Brown-2 12      30      28[root@localhost shell]# awk '{ print $0 }' a.txt[root@localhost shell]# awk '{ print $1,$4}' a.txt#单独使用begin/BEGIN都可以,但是要使用begin-end的方式。必须全部大写:BEGIN-END[root@localhost shell]# awk 'BEGIN {print "hello, andylin!\nName\tBelt\n"}[root@localhost shell]# awk 'begin {print "hello,andylin!\nName\tBelt"} {print $1, $4} END {print"end of awk"} ' a.txt[root@localhost shell]# awk '{if ($4 ~ /Brown/ ) print $0}' a.txt[root@localhost shell]# awk '$3=="48" {print $0}' a.txt[root@localhost shell]# awk '$0 !~ /Brown/' a.txt[root@localhost shell]# awk '{if($0 !~ /Brown/) print$0}' a.txt[root@localhost shell]# awk '{if ($4 !="Brown-2") print$0}' a.txt[root@localhost shell]# awk '{if($6<$7) print$0} ' a.txt[root@localhost shell]# awk '{if($6 <= $7) print $0}' a.txt[root@localhost shell]# awk '/[Gg]reen/' a.txt[root@localhost shell]# awk '{if($0~/[Gg]reen/) print $0}' a.txt[root@localhost shell]# awk '{if ($1=="andy" && $4=="Green") print $0}' a.txt[root@localhost shell]# awk '{if ($1=="andy" || $4=="Green") print $0}' a.txtawk 'BEGIN {print ARGC,"_" FS, "_"} {print NF,NR} ' a.txtawk 'END{print NR,$NF,FILENAME}' a.txt[root@localhost shell]# echo $PWD | awk -F/ '{print $NF}'[root@localhost shell]# pwd | awk -F/ '{print $NF}'[root@localhost shell]# awk '{name=$1;belts=$4; if (belts ~/Yellow/) print name " is belt " belts}' a.txt[root@localhost shell]# awk 'BEGIN {BASELINE="27  "} {if($6 < BASELINE) print $0}' a.txt[root@localhost shell]# awk 'BEGIN {BASELINE=27} {if($6 < BASELINE) print $0}' a.txt[root@localhost shell]# awk '{if($1=="andy"){$1="aaa"}; print $1}' a.txt[root@localhost shell]# awk '{if($1 > "cc")  print$1,$2}' a.txt[root@localhost shell]# awk '{if($1 > "cc") {}; print$1,$2}' a.txt[root@localhost shell]# awk 'BEGIN{print"Name\tDifference"} {if($6<$7){$8=$7-$6;print$1,$8}}' a.txt[root@localhost shell]# awk '{total += $6} END{print "total points:"total}' a.txt[root@localhost shell]# awk '{total += $6}{print$0} END{print "total points:"total}' a.txt[root@localhost shell]# ls -l | awk '/^[^d]/ {print $8"\t"$5} {total += $5} END{print "total KB:"total}'[root@localhost shell]# awk 'gsub(/4842/,1111){print$0}' a.txt[root@localhost shell]# awk 'gsub(/4842/,1111){print$0}' a.txt[root@localhost shell]# awk 'BEGIN {print "length($1)",length($1)} {print "length($1):"length("a"$1)}' a.txt[root@localhost shell]# awk 'BEGIN {print split("123#456#678", arr, "#"),arr[0], arr[1], arr[2]}'[root@localhost shell]# echo "65" | awk '{printf"%c\n",$0}';[root@localhost shell]# awk '{printf "%-15s %s\n", $1,$3}' a.txt[root@localhost shell]# who | awk '{print $1" you are connect "$2}'awk文件#!/bin/awk -fBEGIN{        print("=========== Begin =================");        strRecord="123#456#789";        split(strRecord, arr, "#");        FS="\t";};{        print $0;        total += $6;}END{        for (i in arr)        {                print(arr[i]"\t");        }        print("total val:", total);        print("******* end of awk ***********");};
?

读书人网 >操作系统

热点推荐