zoukankan      html  css  js  c++  java
  • awk神器

    先上硬货

    学习语法之前先介绍下awk的几个内建变量

    $0 当前记录(这个变量中存放着整个行的内容)
    $1~$n 当前记录的第n个字段,字段间由FS分隔
    FS 输入字段分隔符 默认是空格或Tab
    NF 当前记录中的字段个数,就是有多少列
    NR 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。
    FNR 当前记录数,与NR不同的是,这个值会是各个文件自己的行号
    RS 输入的记录分隔符, 默认为换行符
    OFS 输出字段分隔符, 默认也是空格
    ORS 输出的记录分隔符,默认为换行符
    FILENAME 当前输入文件的名字

    常用语句如下

    awk'{print $1, $4}'netstat.txt
    awk'{printf "%-8s %-8s %-8s %-18s %-22s %-15s
    ",$1,$2,$3,$4,$5,$6}'netstat.txt
    awk'$3==0 && $6=="LISTEN" 'netstat.txt
    awk'$3==0 && $6=="LISTEN" || NR==1 'netstat.txt
    awk'$3==0 && $6=="LISTEN" || NR==1 {printf "%-20s %-20s %s
    ",$4,$5,$6}'netstat.txt
    awk'$3==0 && $6=="ESTABLISHED" || NR==1 {printf "%02s %s %-20s %-20s %s
    ",NR, FNR, $4,$5,$6}'netstat.txt
    awk  'BEGIN{FS=":"} {print $1,$3,$6}' /etc/passwd
    awk  -F '[:;]' '{print $1,$3,$6}' /etc/passwd   比较有用的一句 -F 指定分隔符
    awk -F '[:;]' '$1=="suqian" {printf "%s,%s ", $3,$6}' /etc/passwd //指定分隔符,比较,输出都有
    awk'$6 ~ /FIN/ || NR==1 {print NR,$4,$5,$6}'OFS="	"netstat.txt
    awk'$6 ~ /WAIT/ || NR==1 {print NR,$4,$5,$6}'OFS="	"netstat.txt
    awk'$6 ~ /FIN|TIME/ || NR==1 {print NR,$4,$5,$6}'OFS="	"netstat.txt
    awk'$6 !~ /WAIT/ || NR==1 {print NR,$4,$5,$6}'OFS="	"netstat.txt
    awk'NR!=1{print > $6}'netstat.txt
    awk'NR!=1{if($6 ~ /TIME|ESTABLISHED/) print > "1.txt";
    elseif($6 ~ /LISTEN/) print > "2.txt";
    elseprint > "3.txt"}' netstat.txt

    总结格式

    awk '条件 {if判断 print > 重定向 }' 文件名 其中 print格式化 例如
    {printf "%02s %s %-20s %-20s %s
    ",NR, FNR, $4,$5,$6}

    或者

    脚本形式 BEGIN{}{}END{}可以使用内置变量 print的时候用 "%s %d"
    例如   printf"  TOTAL:%10d %8d %8d 
    ", math, english, computer



    顺道贴上抄袭的地址 http://foyon.blog.163.com/blog/static/20103427520134715410351/?latestBlog
  • 相关阅读:
    WebBrowser无法显示招商银行password输入控件的问题
    对流式计算模型的理解
    Dev BarManager使用方法
    创业的需求分析——创业杂记【1】
    使用Apktools反编译apk应用
    【JUnit4.10源码分析】3.4 Description与測试树
    基于KWIC 的keyword匹配算法(管道+过滤器模式下实现)
    纯CSS滑动效果
    PhotoSwipe简介
    包加载失败的解决办法
  • 原文地址:https://www.cnblogs.com/sailrancho/p/3389138.html
Copyright © 2011-2022 走看看