简介

grep,sed,awk被称为Linux文本处理的三剑客,各有特点
grep:适合文本的匹配和查找
sed:编辑匹配到的文本
awk:对文本进行格式化输出

awk简介

awk的基本语法是

awk [options] 'Pattern {Actions}' file1,file2...

Actions指的是工作,awk擅长文本输出,最常用的动作是print和printf

场景一:简单输出文本

$ touch awk.cc
$ echo "ddd" > awk.cc
$ awk '{print}' awk.cc
ddd

场景二:格式的输出某一列数据

上图中,首先将df的结果通过管道传给了awk,awk输出了第五列的数据,$5表示第五个。

awk工作原理

awk会逐行获取数据,然后对每一行进行处理,将一行中的数据按照“分隔符”分割成多个单次,并依次以1,1,1,2,3…等变量标记这些单词。用户可以指定分隔符,如果不指定的话,默认使用空格作为单词之间的分隔符。awk内置变量,3…等变量标记这些单词。用户可以指定分隔符,如果不指定的话,默认使用空格作为单词之间的分隔符。awk内置变量,3…等变量标记这些单词。用户可以指定分隔符,如果不指定的话,默认使用空格作为单词之间的分隔符。 awk内置变量,0表示整行,NF表示一行中的最后一个变量(单词)。还可以使用NF表示一行中的最后一个变量(单词)。还可以使用NF表示一行中的最后一个变量(单词)。还可以使用(NF-1)表示倒数第一个变量。

其他输出形式

记住一点,awk中的单词都是以变量的形式存在

  1. 输出多列,变量以逗号隔开
# df | awk '{print $1,$NF}'
  1. 输出自定义变量
# df | awk '{print $1,$NF,"string"}'

需要注意的是,将$标识的变量和我们传入的变量分清楚就好了

awk的模式

再次重申awk的语法

awk [options] 'Pattern {Actions}' file1,file2...

这里我们再来说awk的模式,awk有很多模式,先说两个特殊的模式,BEGIN和END
BEGIN标识,在处理awk的操作之前,先要执行的操作,END标识,在执行完毕之后,再要执行的操作

BEGIN模式处理的一个优点就是,在格式化显示文本之前,给每一列做一个标识,BEGIN就是执行awk之前先要进行的操作。

注意:多个操作强调内容一定要在单引号内(”),要有花括号分割({})

awk1.0 — awk基础相关推荐

  1. 1. awk基础,awk介绍,awk基本语法,直接使用action,打印列,初识列和行,\$0、\$NF、NF,基础示例,begin模式,end模式

    文章目录 前言 awk介绍 awk基本语法 直接使用action 打印列 初识列和行 \$0.\$NF.NF 基础示例 初识模式(begin end) 总结 友情链接 前言 本小节是awk基础入门课程 ...

  2. 【AWK】awk 基础用法和应用

    很久之前学的AWK,现在回看笔记,对其进行一个小小的总结~ 目录 awk可以做什么? awk 基本命令格式 ​编辑分隔符.域和记录 awk内置变量 输出格式printf命令 awk基础应用: (一)统 ...

  3. awk——awk基础介绍

    awk awk基础 awk简介 awk是被设计用于文本处理,并常被用作数据提取和报告工具的解释性程序设计语言.awk的作者这样描述:awk是一个方便的且富有表现力的程序设计语言,它可以应用于各种各样的 ...

  4. 详解awk(一)awk基础知识、选项、程序段解析与实例

    目录 序:回顾shell三剑客的关系 一.awk基础 1.1awk简介 1.2基本语法 二 awk中OPTIONS的说明 2.0 参数列表 2.1 -f program-file 2.2 -F fs ...

  5. 零编程基础学python-如果是一个纯0编程基础的小白,如何学Python

    Python 可用的地方非常多.无论是从入门级选手(爬虫.前端.后端.自动化运维)到专业级数据挖掘.科学计算.图像处理.人工智能,Python 都可以胜任.或许是因为这种万能属性,周围好更多的小伙伴都 ...

  6. mysql8.0日期类型_mysql8.0.19基础数据类型详解

    mysql基础数据类型 mysql常用数据类型概览 ![1036857-20170801181433755-146301178](D:\笔记\mysql\复习\1036857-201708011814 ...

  7. 学ps要计算机基础吗,零基础怎样学会PS?电脑0零基础绘画

    原标题:零基础怎样学会PS?电脑0零基础绘画 轻微课来源:轻微课APP(一个专门学画画的人气平台) 零基础怎样学会PS?电脑0零基础绘画!在学习PS电脑绘画的过程中,您需要逐步学习什么? 今天,对于P ...

  8. linux之awk基础

    第一章 1.awk 简介 awk不仅仅时linux系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告(excel).处理的数据可以是一个或多个文件,可以是来自标准输入,也可以通过管道获取 ...

  9. 数据库应用----Mongodb 4.0 版本 基础操作---复制集,选举方法、部署认证 (二)

    Mongodb 4.0 版本 基础操作-复制集,选举方法.部署认证 (二) 文章目录 Mongodb 4.0 版本 基础操作---复制集,选举方法.部署认证 (二) 一.MongoDB 复制集 二.部 ...

最新文章

  1. red5下nginx安装配置
  2. R语言使用edit函数在Rsudio中生成数据编辑器(在windows中生成编辑器)、在编辑器中输出需要的数据生成最终的dataframe
  3. javascript 自动按按钮
  4. 在 Delphi 下使用 DirectSound (5): 获取或设置缓冲区的格式:
  5. (转)php-cli模式学习(PHP命令行模式)
  6. windows server 2008 r2 IIS PHP
  7. 网银无法登录解决办法
  8. when is SAP UI5 formatter called
  9. 贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理
  10. 微博安全是一个系统问题包括服务器安全,应用安全开发注意事项
  11. 基于abtest思想的流量切换(nginx lua redis)
  12. 面向非易失性内存的持久索引数据结构研究综述
  13. leetcood学习笔记-112-路径总和
  14. 50 岁的他笑谈码农真相,看完清醒了!| 人物志
  15. 聚类算法实践——谱聚类、Chameleon聚类
  16. Sybase获取所有用户表,以及所有者(owner)
  17. 根据IP统计网站访问次数
  18. “汽车人”眼中的网络安全-网络安全的5W1H
  19. asp net core 微信公众号开发 (一)
  20. Carla学习(一) 小车简单直线行走

热门文章

  1. BZOJ 4059: [Cerc2012]Non-boring sequences ( )
  2. Sql存储过程加密和解密
  3. android 9 pie公司,谷歌Android 9 Pie,真正的安卓派
  4. 如何锁门_保安巡查时发现住户未锁门,应该怎么办?记住这九点!
  5. qt qgis linux,QGIS初识-Qt编译环境配置
  6. jmeter异步请求测试怎么测试_JMeter接口测试之HTTP请求默认值
  7. fc天使之翼2020修改版下载_海岛奇兵无限钻石修改版下载-海岛奇兵无限钻石修改版下载2020...
  8. java控制台输入的数据存放在数据库表中_JDBC完成修改(使用控制台输入)
  9. 在mysql查询库和表_查询mysql 库和表占的大小
  10. filco linux 蓝牙,挖矿知识普及(一)Filcoin是怎么被挖出来的?