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

  • 相关阅读:
    android: 记录及回复lisView的位置
    android获取屏幕尺寸、密度
    iphone:蓝牙传输
    android 线程 进程
    android 首次使用app时的使用教程的功能的实现
    android 启动界面
    iphone:数组的反序
    android:onKeyDown
    iphone: 可编辑的tableView Move&Delete
    iphone:类似path的抽屉式导航效果的demo总结
  • 原文地址:https://www.cnblogs.com/persisit/p/13688586.html
Copyright © 2011-2022 走看看