美文网首页
Linu awk命令

Linu awk命令

作者: 秋裤Boy | 来源:发表于2019-10-29 17:01 被阅读0次

简介:

awk命令是Linux的文本统计、分析工具。说白话点,就是,awk是参数为文本文件的一行字符串的Linux命令行函数。

常用知识点:

awk函数有一些内置的变量:

  • $1 $后跟一个阿拉伯数字,表示入参字符串中,默认以tab分割的第n段字符串。
    如:a [tab] b [tab] c [tab] d 这个字符串中, $1表示 a 这段字符串。
    这个知识点也是awk命令最常用、最重要的一个姿势,哦不,知识。
  • -F。字符串分割默认以tab符号分割,可以通过 -F '【字符串】' 命令来指定。
    如:-F ':' 就是以冒号进行的分割
  • ARGC 命令行参数个数
    ARGV 命令行参数排列
    ENVIRON 支持队列中系统环境变量的使用
    FILENAME awk浏览的文件名
    FNR 浏览文件的记录数
    FS 设置输入域分隔符,等价于命令行 -F选项
    NF 浏览记录的域的个数
    NR 已读的记录数
    OFS 输出域分隔符
    ORS 输出记录分隔符
    RS 控制记录分隔符

awk命令使用:

这里才是awk的基础使用说明
awk '模式 动作' 文件名 或者通过管道命令|awk命令传入数据,其中,模式跟动作不是必须的。

模式:

所谓模式就是正则表达式,//这两个符号之间的内容就是正则表达式内容,
如: awk '/root/' filename 就是匹配行中有root字符串的行

命令:

命令就是个比较复杂的内容块了。awk命令的主要的功能就体现在这。
直白点儿说,命令块就是由{}花括号包裹住的代码,代码语法参考c/c++即可。
如:
输出文件内第一行内容
awk '{if(NR ==1) {print $0}}' filename
那上面这段命令举例,一个{}内的,就是一段动作。动作其实可以有多个,当有多个动作时,其运行逻辑就是对输入进来的一行字符串,挨个运行多条动作。
如,在上面的基础上,我们再把第一段字符串输出出来
awk '{if(NR == 1) {print $0}} {print $1}' filename
上面这条命令就有两段动作,分别是:
{if(NR==1){print $0}{print $1}
当然,既然动作就是段代码,上面代码块内当然可以不止一条代码语句,所以,上面这条等价下面:
{if(NR==1){print $0; print $1}}
需要注意的是,命令之间要用;分隔开。

未完待续:

当然,awk命令还有模式方面的知识点以及比较重要的BEGIN END等常用知识点,后面再讲啦~ 啦啦啦~

相关文章

  • Linu awk命令

    简介: awk命令是Linux的文本统计、分析工具。说白话点,就是,awk是参数为文本文件的一行字符串的Linux...

  • awk 命令

    基本模式awk '{pattern + action}' {filenames}awk、grep、sed是linu...

  • Linux

    linux awk命令详解、linux awk命令Linux常用操作指令Linux netstat命令详解 awk...

  • awk命令的使用

    awk命令的使用 awk命令格式awk '条件1{动作1} 条件2{动作2}…' 文件名 在介绍awk命令的用法前...

  • Linux字符串的截取

    cut命令 printf 命令 awk命令

  • Linux 去除文件中空行的几种方式

    tr 命令 sed 命令 awk 命令 grep 命令

  • 从零开始学习Linux(四十三):Shell编程之awk命令

    1、awk命令简介 awk命令是一种处理文本文件的语言,是一个强大的文本分析工具。awk命令也可以叫awk编程,能...

  • awk 命令

    一、awk命令的帮助文档 [root@yundd home]# awk -helpUsage: awk [POSI...

  • 2019-05-16

    AWK 工作原理 命令结构:awk 'BEGIN{ commands } pattern{ commands } ...

  • awk命令

    下文来自:美团 吴孟达更多AWK命令请参考:Linux awk 命令扩展:linux sort,uniq,cut,...

网友评论

      本文标题:Linu awk命令

      本文链接:https://www.haomeiwen.com/subject/qhjgvctx.html