awk的用法
awk是什么
awk是一种优良的文本处理工具,同时也是一种脚本语言。awk的三位作者者已将它正式定义为“样式扫描和处理语言”。awk脚本允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。我认为,awk命令其实就是awk脚本的解释器。据说sed和grep能做的事情,awk都可以做。
awk可以做什么,一般用它所什么
可以进行数学运算和字符串处理,截至目前,我用过做的是筛选字符串。
awk的调用方式
命令方式1
awk '{print $1}'
命令方式2
awk -f script.awk textfile1
脚本方式
myscript.awk textfile1
这种脚本的第一行一定要是"#!/bin/awk -f",并且脚本要有执行权限
PS:
我说的awk命令是指在终端输入的红色个"awk",有些地方把awk对文本的具体处理动作叫做awk命令,我认为这些动作叫做awk指令合适,如上文中的蓝色。
我看有些地方把awk脚本叫做awk程序,我还是管他叫awk脚本吧,如上文的绿色。
awk工作方式
有3个阶段,工作的每个阶段貌似是有一组指令,用一个{}括住,是这样的吗?
记录和域,域分隔符
运算符:关系,罗辑,算术
awk变量
awk系统变量(内置变量)
格式化输出
字符串函数
流程控制:条件语句,循环语句
awk数组
补充:
在awk中访问shell变量的方法
1.使用单引号,注意一定是单引号,否则会在给awk传参时就展开变量,就错了
awk 'BEGIN {print '$a'}'
2.通过awk的选项给awk定义变量,这样的变量访问时不用$,直接用名字
awk -v a=1 'BEGIN {print a}'
awk的用法的更多相关文章
- Linux sed 和 awk的用法
sed用法: 原文链接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管 ...
- 文本处理三剑客之AWK的用法
1.awk命令简介: awk是一种可以处理数据.产生格式化报表的语言,功能十分强大. awk的工作方式是读取数据,将每一行数据视为一条记录(record)每笔记录以字段分隔符分成若干字段,然后输出各个 ...
- gawk(awk)的用法案例
gawk(awk)的用法案例 本文首先简单介绍一个gawk和awk的区别,然后是一点基本使用流程,最后是自己做的一个分析数据文件的脚本代码,供大家参考.另外想了解基本流程的入门知识的可以下载附件pdf ...
- linux awk的用法
linux awk的用法 <pre>[root@iZ23uewresmZ ~]# cat /home/ceshis.txtb 12 42 30 b 03 43 25 a 08 10 16 ...
- <三剑客> 老大:awk命令用法
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入(stdin).一 个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是lin ...
- awk命令_Linux awk 命令用法详解
本文索引 awk命令格式和选项 awk模式和操作 模式 操作 awk脚本基本结构 awk的工作原理 awk内置变量(预定义变量) 将外部变量值传递给awk awk运算与判断 算术运算符 赋值运算符 逻 ...
- awk的用法(转)
awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输 ...
- awk简单用法
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- 【转】awk 数组用法【精华贴】
文本处理的工作中,awk的数组是必不可少的工具,在这里,同样以总结经验和教训的方式和大家分享下我的一些学习心得,如有错误的地方,请大家指正和补充. awk的数组,一种关联数组(Associative ...
- awk基本用法
1 简介 awk实质是一种编程语言,基本作用在于查找和替换. 2 基本用法 有文本名称为:awk.txt 内容为: john.wang male 30 021-111111 lucy.yang f ...
随机推荐
- 廖雪峰Java4反射与泛型-3范型-3编写泛型
编写泛型类比普通的类要麻烦,而且很少编写泛型类. 1.编写一个泛型类: 按照某种类型(例如String)编写类 标记所有的特定类型例如String 把特定类型替换为T,并申明 Pair.java pa ...
- python之路——3
王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 1. 格式化输出 %s %d %%2. 编码 ASCII码——unicode万国码——utf-8(1个 ...
- 函数的进阶(动态参数,命名空间和作用域,函数的嵌套,gloabal和nonlocal关键字)
1. 函数参数--动态传参 昨天已经解过了传参, 如果需要给一个函数传参,而参数又是不确定的. 或者我们给一个函数传很多参数, 我的形参就要写很多, 写起来就很麻烦, 这时我们可以考虑使用动态参数.形 ...
- [UE4]使用Is Locally Controlled解决第一人称和第三人称武器位置问题
一.在第一人称网络游戏中,自己看到的是第一人称,其他玩家看到的自己是第三人称. 二.由于第一人称和第三人称是不同的模型,所以枪在模型上面的插槽位置也会不一样. 三.在武器挂载在人物模型的使用,使用“I ...
- sqlserver数据库设计完整性与约束
use StudentManageDB go --创建主键约束 if exists(select * from sysobjects where name='pk_StudentId') alter ...
- vue 要点
一: 1. 如果在实例创建之后添加新的属性到实例上,它不会触发视图更新. 2. v-show 的元素会始终渲染并保持在 DOM 中.v-show 是简单的切换元素的 CSS 属性 display.
- CF1017G The Tree
/* 这是什么神仙题目QAQ 首先考虑在序列上的问题 先不考虑修改成白色, 一个白点能r被染成黑色 意味着能够找到一个l使得在l-r中的操作1次数大于等于 r - l + 1 我们把初始值覆盖成-1就 ...
- @Autowired与@Resource 详细诠释和区别(附带例子)
@Autowired 与@Resource:1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配( ...
- python学习之----lxml库和HTML parser
lxml 这个库(http://lxml.de/)可以用来解析HTML 和XML 文档,以非常底层的实现而闻名 于世,大部分源代码是用C 语言写的.虽然学习它需要花一些时间(其实学习曲线越 陡峭,表明 ...
- WPF简单实用方法(持续更新)
1:点击退出提示框 MessageBoxResult result = MessageBox.Show("你真的要退出吗?", "", MessageBoxBu ...