awk用法(一)

awk用法(一)

awk跟以前的sed命令,grep命令比较,它的优势在于它能够实现更多的功能。

比如awk可以实现分段,sed,grep是没法实现的

可以根据一个分隔符,将其分为一小段一小段,通过段来匹配。

  • 知识点一:

awk -F ‘:‘ ‘{print $3,$4}‘ 1.txt 显示指定段的匹配== awk -F: ‘{print $3,$4}‘ 1.txt

-F ‘:‘指定冒号分隔符,$3指定第三段

$3,$4中间的逗号,实际显示的是空格分割。【比较下面截图可看出】

  • 知识点二:

awk -F ‘:‘ ‘OFS=":" {print $3,$4}‘ 1.txt

OFS="任意分隔符",那下面我们来做一个实验,自定义OFS分隔符。结果如下:

  • 知识点三:

awk ‘/root/‘ 1.txt 类似grep,sed的匹配功能

  • 知识点四:

awk ‘/user|root/‘ 1.txt 匹配user或者匹配root,它和sed -r、grep -E,egrep效果一样。下面比较下它们几个用法区别,截图如下:

但是awk直接可以使用特殊符号,比sed、grep功能强大,如:

awk ‘/r*o/‘ 1.txt 特殊符号直接使用

awk ‘/r.*o/‘ 1.txt

awk ‘/r?o/‘ 1.txt

awk ‘/r+o/‘ 1.txt

awk ‘/(00)+/‘ 1.txt

  • 知识点五:【面试时可能会问到!注意下!】

awk ‘/(00){2}/‘ 1.txt {}表示范围,出现了几次的oo匹配,这里注意,awk命令不支持{}次数写法!这里要与sed命令和grep命令区分,grep和sed都支持!!

#grep -E --color ‘(oo){2,10}‘ 2.txt

两次或者10次的oo,最小的显示起!截图如下:

  • 知识点六:

awk -F ‘:‘ ‘$1~/r*o/‘ 1.txt

可以指定第一段中,包含r*o的都匹配显示出来。参考截图如下:

  • 知识点七:

awk -F ‘:‘ ‘$1~/r*o/ {print $3}‘ 1.txt

可以指定第一段,包含r*o中匹配中的,精准打印其第三段!【参考知识点六】

时间: 2024-12-10 11:52:00

awk用法(一)的相关文章

awk用法(二)

awk用法(二) 知识点一: 条件操作符,可以进行逻辑判断,举个栗子: #awk -F ':' '$1=="daemon"' 1.txt[daemon的双引号必须要加!] 知识点二: #awk -F ':' '$1=="root" || $6~'/sbin/'' 1.txt 其中,||表示或者,上述命令表达的内容是:打印出第一段是root的,或者第六段包含sbin的行. 知识点三: #awk -F ':' '$1=="root" &&am

awk用法小结(作者总结)

http://www.chinaunix.net/old_jh/24/691456.html http://wenku.baidu.com/view/ebac4fc658f5f61fb736664d.html awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止

awk用法(三)

awk用法(三) 知识点一: NR行数,NF段数 1.#awk -F ':' 'NR==10' 1.txt [行数是第10行的] 2.#awk -F ':' 'NR==10 {print $1,$7}' 1.txt  [只打印出第10行中的第1段和第七段] 3.#awk -F ':' '{if(NR==10) print $1,$7}' 1.txt #awk -F ':' 'OFS="#" {if(NR==10) print $1,$7}' 1.txt 以上三点截图如下: 4.#awk

1.12-linux三剑客之awk用法详解

1.12 linux三剑客之awk用法详解 内容: 1. awk执行过程 2. awk命令格式 3. awk用法 4. awk数组 第1章 awk执行过程 一直读取到文件的最后一行 第2章 awk '找谁{干啥}' '模式{动作}' 模式 pattern   动作  action 第3章 awk中什么可以作为模式 正则表达式 比较表达式    NR>10 范围模式 特殊模式BEGIN{}和END{} awk支持正则中的特殊符号 3.1 正则表达式 测试文件/server/files/reg.tx

AWK用法入门详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK

linux awk用法(主要为命令行)

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK

awk用法

grep:文本过滤器, grep "pattern" input_file .... sed: 流编辑器: sed "command/PATTERD/" awk:报告生成器.能够将输入的信息格式化之后显示:包括nawk版本,gawk版本 用法: awk [option] 'script' file1 file2, ... awk [option] 'PATTERN {action}' file1, file2. ... print, printf 1 [email 

awk用法详解

awk简介 awk是一款文本处理工具,awk为文本处理提供了非常强大的功能,包括正则表达式的匹配,样式装入,程序的流程控制,数学运算,还包括了内置函数和变量.它完全可以作为一门独立的语言进行编程. 基本语法: awk [options] 'pattern{ action }' file file ... awk对文本的处理是以行为单位的,按行读取数据后再对每个字段进行处理. awk的大致工作流程如下: 1)首先读入第一行,然后将每个字段进行切割并赋值给$0,$1,$2,$3.....(默认分隔符

awk用法三

6.结构化控制语句 6.1 if语句 格式:if(条件) {body} else {else body} 实例1:判断/etc/passwd文件中的UID如果大于500则显示为"common user",否则显示为"admin user": 6.2 while循环 格式:while(条件){body} 条件为真时进入循环体. 实例2:打印出/etc/inittab文件中每行中为偶数个的字符串: 实例3:找出/etc/inittab文件中长度大于等于6个字符的字符串: