awk ——Helloworld

不特殊说明的情况下,awk 都指的是 gawk

gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.

awk 语法格式

awk ‘{pattern + action}‘ {filenames}

awk 版本的 helloworld 

[[email protected] data]# vim data
[[email protected] data]# cat data
hello world 
[[email protected] data]# awk ‘{print $1}‘ data
hello
#上面的命令等同于下面的
[[email protected] data]# cat data|awk ‘{print $1}‘
hello
#怎么是 hello呢,world哪去了,难道是..
[[email protected] data]# awk ‘{print $1 $2}‘ data
helloworld

这下hello world出来了,但是和data中不一样的啊

[[email protected] data]# awk ‘{print $1 "\t" $2}‘ data
hello	world

这下就差不多了把

怎样完整的输出内容呢,要一样样的

[[email protected] data]# awk ‘{ print }‘ data

上面这些都是从文件中读取 版本 的helloworld

现在再写一个 没有file 的helloworld

[[email protected] data]# awk ‘{ print $0 }‘
hello world
hello world
#上面这个命令中,$0 代表输入的一行字符..所以你输入什么,系统就会打印什么
[[email protected] data]# awk ‘{ print }‘
#经试验,这俩个的结果是一样的.

小提示,aws中0作为 除号 后面的数

[[email protected] data]# awk ‘$1 %2 == 0 {print $2}‘ data
name2
name0
[[email protected] data]# awk ‘$1 /2 == 0 {print $2}‘ data
name0
[[email protected] data]# cat data
1	name1
2	name2
0	name0

awk中的NF

awk中的NF用来表示当前行中(1行)有多少个字符

怎么理解呢,请看下面的 试验:

[[email protected] data]# cat 1.txt
1
2	2
3	3	3
4	4	4	44

[[email protected] data]# awk ‘NF >3 { print }‘ 1.txt
4	4	4	44
[[email protected] data]# awk ‘NF >4 { print }‘ 1.txt 

懂了吧

时间: 2024-10-01 09:58:41

awk ——Helloworld的相关文章

linux awk命令详解2

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] 'BEGIN{} //{command1; command2} END{}' file [-F|-f|-v]   大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value '  '          引用代码块 BEGIN   初始化代码块,在对每一行进行处理之前,初始

shell 正则表达三剑客--awk

awk命令 awk和sed一样是流式编辑器,它也是针对文档中的行来操作的,一行一行的去执行.awk比sed更加强大,它能做到sed能做到的.awk工具其实是很复杂的,有专门的书籍来介绍它的使用. 1 awk命令形式 awk [-F|-f|-v] 'BEGIN{} //{command1; command2} END{}' file [-F|-f|-v]   大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value '  '         引用代码块 BEGIN       初始化

linux中awk详解

awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] 'BEGIN{} //{command1; command2} END{}' file [-F|-f|-v]   大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value '  '          引用代码块 BEGIN   初始化代码块,在对每一行进行处理之前,初始

awk(未完)

awk的运行方式 (1)  awk命令行 (2)  awk程序文件 awk –f /path/from/awk_script (3)  awk脚本 #!/bin/awk –f 基本用法: gawk[OPTIONS] 'program' FILE1 FILE2-- program:PATTERN{ACTIONSTATEMENT} 选项: -F[]:指明输入字段分隔符 -vVAR_NAME=VALUE:变量赋值 -f /PATH/FROM/AWK_SCRIPT: 1.awk的输出命令之一:print

Linux Shell之十 sed与awk

设计script时,有时候需要修改脚本,例如删除或置换某些关键词.像这种在script执行过程动态修改文件的做法,称为流编辑.具有流编辑能力的工具,称为流编辑器.sed是这方面的强者.另外script执行时可能要制作报表,呈现各字段信息,awk完美解决. 一.正则表达式 正则表达式是组成"样式"的基本语法,而"样式"是运用sed和awk必备的能力.sed和awk相同的运行方式是:只要符合"样式"的数据行,就对它执行指定的"操作"

awk转义序列与算术操作符

可以使用表达式来存储.操作和检索数据,这些操作与sed中的有很大的区别,但这是大多数程序设计语言所具有的共同特性. 一个表达式通过计算返回一个值.表达式由数字和字符串常量.变量.操作符.函数和正则表达式组成.我们在之前的文章中中详细介绍了正则表达式.在这一部分,我们将学习由常量.变量和操作符组成的表达式. 常量有两种类型:字符串型或数字型( "red"或1).字符串在表达式中必须用引号括起来.在字符串中可以使用在表7-1中列出的转义顺序. 转义序列 序列 描述 \a 报警字符,通常是A

awk 学习笔记

awk 使用教程 awk - pattern-directed scanning and processing language (模式定位 扫描和处理语言) Awk scans each input file for lines that match any of a set of patterns specified literally in prog or in one or more files specified as -f progfile. With each pat- tern

正则表达式学习之grep,sed和awk

正则表达式是用于描述字符排列和匹配模式的一种语法,它主要用于字符串的模式分割.匹配.查找以及替换操作. 描述一个正则表达式需要字符类.数量限定符.位置限定符.规定一些特殊语法表示字符类,数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式. 正则表达式的语法规范如下: 字符类:在模式中表示一个范围,但是取值范围是一类字符中的任意一个. 数量限定符:限定字符类出现的次数. 位置限定符:描述各种字符类和普通字符之间的位置关系. 特殊字符: 正则表达式有两种规范,分别是

awk学习 (good)

原文:http://blog.chinaunix.net/uid-23302288-id-3785105.html awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file [-F|-f|-v]   大参数,-F指定分隔符,-f调用脚本,-v定义变量 v