awk简介

awk: 中文意思是报告生成器 能够根据我们输入的信息,将信息格式化以后显示,将定义好的信息以比较美观(直观)的方式显示出来出现比较早,继而出现了new awk(nawk)在windows上实现,gawk, awk实现在linux上。awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本,它提供

了Bell实验室和GNU的一些扩展。下面就对awk进行介绍。

awk使用的基本格式:

# awk [options] 'script' file1 file2, ...
# awk [options] 'PATTERN { action }' file1 file2, ...细化了上面的组合
常用的命令:print(输出), printf(打印)

awk工作过程

根据我们所定义的模式,一次从文件中读取一行文本,awk会对取出的文本做相应的切片,将每一行按照分隔符进行切割,假如我们有一行文本: this is a test.它会使用空白字符当做分隔符,将它们各个分开,切割成了四个片,分别为: this is a test.这四个片,可以使用变量,分别对应为$1,$2,$3,$4代表四个切割片,下面就做一个演示,看如何实现awk的强大功能

一、awk的输出:print

print的使用格式:
print item1, item2, ...

输出要点:

1、各项目之间使用逗号隔开,而输出时则以空白字符分隔;

2、输出的item可以为字符串或数值、当前记录的字段(如$1)、变量或awk的表达式;数值会先转换为字符串,而后再输出;

3、print命令后面的item可以省略,此时其功能相当于print $0, 因此,如果想输出空白行,则需要使用print "";

实例分析:

显示整个文本(注意,这里只是测试,所以只有一行)
#  awk '{print $N}' test.txt
this is a test.
# awk '{print $0}' test.txt
this is a test.
显示文本的一行中的第一个参数
# awk '{print $1}' test.txt
this
显示文本的一行中的第二个参数
# awk '{print $2}' test.txt
is
显示文本的一行中的第四个参数
# awk '{print $4}' test.txt
test.
显示文本的一行中的第一与第二个个参数
# awk '{print $1,$2}' test.txt
this is
显示文本的一行中的第一个与第二个参数,中间可以加#号
# awk 'BEGIN{OFS="#"}{print $1,$2}' test.txt
this#is
显示文本中的各个参数,还可以加修饰符
# awk 'BEGIN{OFS=":"}{print $1,$2,$3,$4}' test.txt
this:is:a:test.
显示文本中的参数,还可以加修饰符,还可以加字符串
#  awk 'BEGIN{OFS=":"}{print $1,"hello",$2}' test.txt
this:hello:is
输出三行,注意换行需要加\n
# awk 'BEGIN { print "line one\nline two\nline three" }'
line one
line two
line three

文本处理工具AWK详解相关推荐

  1. Linux命令:文本处理工具awk详解

    awk命令简介: awk是一个强大的文本分析工具,通常,awk是以文件的每一行,为处理单位的.awk每接收文件的一行,然后执行相应的命令,来处理文本.  1.命令格式: awk 'pattern {a ...

  2. Linux文本编译工具VIM详解

    Linux文本编译工具VIM详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.VIM概述 1>.vim简介 1>.vi: 全称Visual editor,即文本编 ...

  3. 文本三剑客之AWK详解

    文本三剑客之AWK awk简介 AWK是一种优良的文本处理工具.它不仅是 Linux中也是任何环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人 Alfred A ...

  4. Linux文本三剑客之一——awk详解(1)——awk看这两篇就够啦~PS:文末有练习,来练练手吧

    shell编程三剑客 grep --> egrep --> 文本过滤 查询 awk 文本截取 sed  文本的替换和修改 目录 awk awk也可以做小数运算 awk命令简要处理流程 aw ...

  5. IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)

    在上一篇文章IE8"开发人员工具"使用详解上(各级菜单详解) 中,我们详细地讲解了IE8开发人员工具中各个菜单中命令的使用方法,相信很多朋友应该已经使用上了.而IE8开发人员工具更 ...

  6. Linux三剑客之awk详解

    第一篇 awk简介与表达式实例 一种名字怪异的语言 模式扫描和处理,处理数据和生成报告. awk不仅仅是linux系统中的一个命令,而且是一种编程语言:它可以用来处理数据和生成报告(excel):处理 ...

  7. 13.4.虚拟化工具--jmap详解

    13.4.虚拟化工具–jmap详解 13.4.1.jmap命令基本概述 13.4.2.命令格式 13.4.3.参数说明 13.4.虚拟化工具–jmap详解 13.4.1.jmap命令基本概述 jmap ...

  8. IE8“开发人员工具”使用详解上(各级菜单详解)

    http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html 你还没有安装IE8? 如果你是前端开发人员, ...

  9. linux中top工具,Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

最新文章

  1. RabbitMQ学习笔记-安装
  2. 《流浪地球》虽好,却存在一个不可回避的硬伤!
  3. AppleWatch开发-AlertController
  4. java创建一个图片_Java 创建一个简单的验证码图片
  5. 新版本阿里云网站的云服务器添加安全组规则
  6. 正则只能出现特定字符_python正则表达式的简单使用总结
  7. Angular模板高级使用
  8. java实现bloom filter_Java BloomFilter.add方法代码示例
  9. 两个list取交集_利用jieba计算两个句子的相似度
  10. 随机函数(Pascal入门)
  11. Go 源码学习之--net/http
  12. asp.net搜索关键词高亮显示函数
  13. JBOSS7 学习 一 只能127.0.0.1 访问控制台
  14. 利用wordpress搭建自己的网站(百度云虚拟主机)
  15. iPhone 配置使用工具
  16. cfa英语不好的怎么学_英语不好能考CFA吗?看看他是怎么做到的
  17. java导出mysql数据表的结构生成word文档
  18. 制作sim卡 服务器,diao丝绅士日记-自己撸系列 篇一:从此不再做diao丝-自制SIM卡套篇...
  19. vs2010中正确加载gif格式图片
  20. GPS定位轨迹抽稀之道格拉斯-普克(Douglas-Peuker)算法详解

热门文章

  1. java适配器模式应用_java笔记--适配器模式的运用
  2. js 点击侧边栏展示内容_上海SEO优化网站侧边栏一般添加什么内容
  3. python epoll多路复用技术_python IO 多路复用 epoll简单模型
  4. python多个变量的for循环
  5. 【渝粤教育】电大中专职业应用写作_1作业 题库
  6. 【渝粤题库】陕西师范大学151210 成本会计作业 (专升本)
  7. 【渝粤题库】国家开放大学2021春1070组织行为学题目
  8. 【亲测】二极管电压测试“跳坑”注意事项——硬件的板载测试验证
  9. mysql 数据路由_node-路由操作mysql数据库
  10. 开始协议处理句柄_基于smb协议的wmiexec浅析