zoukankan      html  css  js  c++  java
  • awk 使用

    awk

    awk 是一个行编辑器,可以截取某一行的数据,处理数据,产生格式化报表的语言

    列叫字段,行叫记录

    awk 认为文件中的每一行就是一个记录

    记录和记录的分隔符为 换行符,
    字段和字段的分隔符为一个空格或者多个空格 or Tab制表符

    awk的工作原理:读取数据,将每一行数据视为一条记录record,每条记录以字段分隔符分成若干个字段,然后输出各个字段的值

    awk语法:awk [options][BEGIN]{program}[END][file]

    字段提取:提取一个文本中的一列数据并打印输出

    $0 表示整行文本
    $1 表示文本行中的第一列即第一个数据字段
    $n
    $NF 表示文本行中的最后一个数据字段
    awk '{print $0}' file

    指定行号: NR==3
    如果字段间不是空相隔的:

    awk -F ":" 'NR==1{print $1 $2}' /etc/passwd
    # root 0 root
    awk -F ":" 'NR==3{print $1 '-' $2 '-' $5}' /etc/passwd
    
    head -3 /proc/meminfo | awk 'NR==1{print $2}'  # 查出内存的大小
    
    awk -F: '$1 ~ "ro"{print $0}' /etc/passwd # ~ 模糊匹配,!~模糊匹配取反
    
    

    awk 环境变量

    变量 描述
    FIELDWIDTHS 以空格分隔的数字列表,用空格定义每一个数据字段的精准宽度
    FS 输入字段分隔符号
    OFS 输出字段分隔符号
    RS 输入记录分隔符号
    ORS 输出记录分隔符号
    awk 'BEGIN{FS=":";OFS="--"}{print $1 $3}' /etc/passwd
    

    awk 格式化输出

  • 相关阅读:
    C++笔记(2018/2/6)
    2017级面向对象程序设计寒假作业1
    谁是你的潜在朋友
    A1095 Cars on Campus (30)(30 分)
    A1083 List Grades (25)(25 分)
    A1075 PAT Judge (25)(25 分)
    A1012 The Best Rank (25)(25 分)
    1009 说反话 (20)(20 分)
    A1055 The World's Richest(25 分)
    A1025 PAT Ranking (25)(25 分)
  • 原文地址:https://www.cnblogs.com/persisit/p/13688586.html
Copyright © 2011-2022 走看看