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 格式化输出

  • 相关阅读:
    Python 从入门到实践
    Python 斐波那契数列
    Python 纸牌游戏
    Python hangman小游戏
    BC #49 1001 Untitled
    BC#50 1003 The mook jong
    BC #50 1001 Distribution money
    vector
    stack
    queue
  • 原文地址:https://www.cnblogs.com/persisit/p/13688586.html
Copyright © 2011-2022 走看看