Linux命令之 awk

本文主要介绍awk的入门,以及一些对应的小练习。

以如下文本进行练习:

// log.txt
1 this is a awk learning test
2 awk is a key command in Linux
3 this is a:test:b:c:d
OK, let's do it.

I、基本输出

awk '{[pattern] action}' {filenames}

pattern为指定的模式,一般可以为正则表达式; action是要进行的操作; filenames为对指定的文件

test1

test1$ awk '{print $1,$4}' log.txt #每行按照空格或tab分割,输出第1项和第4项

输出入下图所示:

test2

test2$ awk -F: ':' {print $1"|"$2} log.txt #使用-F指定分隔符

输出结果如下图所示:

test3

test3$ awk -v a=1 '{print $1,$1+a}' log.txt #-v设置变量

输出结果如下图:

test4

test4$ awk -f cal.awk log.txt #调用脚本文件cal.awk

II、备注

1、除了使用print之外也可以使用printf函数,这样就可以控制输出格式。

2、awk中还有一些内建变量,见:

本篇只是对awk命令的入门介绍,其实这是一个很复杂的命令,也对应有自己的awk编程语言,需要更加深入的去学习。

推荐阅读AWK简明教程比我写的详细的多。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • awk使用教程: awk调用方式,常用三种 1.命令行调用(重点介绍) 常用格式框架: 说明:-F 指定分割符,...
    zzqsmile阅读 3,483评论 0 1
  • 转载 原文的排版和内容都更加友好,并且详细,我只是在这里贴出了一部分留作自己以后参考和学习,如希望更详细了解AWK...
    XKirk阅读 8,498评论 2 25
  • awk: grep,sed,awk grep:文本过滤 sed:文本编辑 awk:文本格式化工具; 1 什么是aw...
    木林森阅读 5,801评论 0 16
  • 一、前言 好久没有更新科学小实验了,自从把《让孩子着迷的77×2个经典科学游戏》里面的实验做得差不多了,感觉思维枯...
    王颢阅读 4,952评论 0 2
  • 按照来源注解 java自带的注解 @override@SuppressWarnings@Deprecated 第三...
    奔跑_孤傲的路上阅读 2,571评论 0 0

友情链接更多精彩内容