• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

雕刻自我

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Linux三剑客之awk

《鸟哥的Linux私房菜》学习笔记之awk工具

相较于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理

  1、awk通常运行的模式

    awk '条件类型1{操作1} 条件类型2{操作2} ...' filename

    awk主要是处理每一行的字段内的数据,而默认的字段的分割符为“空格键”或“【Tab】键”;以字段为最小的处理单位

    awk后续的所有操作是以单引号【'】括住的

    每一行的每个字段都是有变量名称,那就是$1、$2等变量名称;$0表示一整列数据的意思

  2、awk的处理流程:

    (1)、读入第一行,并将第一行的数据写入$0、$1、$2等变量当中

    (2)、根据“条件类型”的限制,判断是否需要进行后面的“操作”

    (3)、完成所有操作与条件类型

    (4)、若还有后续的行,则重复上面(1)~(3)的步骤,直到所有的数据都读完为止

awk内置变量
NF 每一行($0)拥有的字段总数
NR 目前awk所处理的是第几行数据
FS 目前的分割符,默认是空格键

  3、awk逻辑运算字符

awk逻辑运算字符
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于

    例子:列出第3个字段小于10的行

      cat filename | awk '$3 <10 {print $1 "\t" $3}'

 

posted on 2020-06-02 21:49  雕刻自我  阅读(119)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3