`

awk基础

awk 
阅读更多
1、awk 语法分模式和操作
模式由正则表达式或判别条件真伪的表达式组成,或者2者的组合
默认操作是打印符合表达式要求文本行
例子
awk -F'[ ;,]' '/jom/{print $1,$2,$3}' file
等价awk -F'[ ;,]' '$0 ~ /jom/{print $1,$2,$3}' file
操作是{}中以分号分隔的语句
操作前面可以有模式
同一行的语句由分号分隔,独占一行则有换行符分隔

内部变量
$0 输入文件的每一行
行被空格分隔为单词,每个单词存储在$1--$n的变量中

NR 每行的行号
NF 每行被分隔符分成几个字段
awk -F:  冒号分隔符
awk -F'[ ;/]' 三个分隔符 空格分号斜杠


2、字符串和数字之间的转换
number=35
name="abf"
字符串强转为数字
name + 0
数字强转为字符串 number ""

3、begin模式
必需在对输入文件进行任何操作之前执行,begin通常被用来修改内置变量(OFS、RS、FS等)、为用户自定义变量赋初始值

end模式
awk处理完所有输入行之后处理end模式

4、输入重定向
getline函数用于从标准输入、管道或者文件(非当前处理的文件)中读取输入
# awk 'BEGIN{"date" | getline d;split(d,mon);print mon[2]}'
# May

#awk 'BEGIN{while("ls" | getline d) s[x++]=d} {for(item in s){print s[item] }}'

[root@localhost redis]# awk 'BEGIN{while (getline < "/etc/passwd" >0 )lc++;print lc}'
35

输出重定向
#cat CheckLaunch.log.2012-05-17 | awk -F'[=,]' '$9==2 && $31==1 {print $8,"--"$9,"--"$30,"--"$31,"--"$32,"--"$33 >> "test.log"}'
重定向的文件用双引号括起来

awk中的管道
每次只能打开一个管道,必需关闭才能打开另外一个管道
管道右边的命令行被括在双引号中间

3、数组在awk中称关联数组,下标可以是数字也可以是字符串
分享到:
评论

相关推荐

    【awk】1-awk基础篇(又名UNIX.Shell.awk).doc

    【awk】1-awk基础篇(又名UNIX.Shell.awk).doc

    awk基础篇学习文档

    AWK是一种编程语言,专门用于文本和数据的模式扫描和处理。在Linux和Unix操作系统中,AWK因其强大的文本处理能力而广泛应用。它的名字来源于其创始人Alfred Aho、Peter Weinberger和Brian Kernighan的姓氏的首字母。...

    《黄振贤-AWK基础培训》

    有关AWK命令的相关基础知识,可以帮助想要学习awk命令的人快速了解

    awk教程入门到精通

    下面是一份 awk 教程,从基础知识到高级应用,涵盖了 awk 的基本概念、语法、函数和应用实例。 awk 基础知识 awk 的基本结构是 pattern{action},其中 pattern 是awk的模式, action 是awk的动作。awk 的模式可以...

    AWK基础教程

    本基础教程将带你深入理解AWK的基本概念,助你快速掌握这一技能。 一、AWK概述 AWK是由三位名字中带有"A"、"W"和"K"的人——Aho、Weinberger和Kernighan共同创建的,因此得名。它是一种编程语言,主要用于处理和...

    Effective AWK Programming:Awk 编程的经典著作

    1. **AWK基础**:介绍AWK的基本概念,包括其工作原理、语法规则以及如何在命令行上运行AWK程序。读者会学习到AWK是如何通过模式空间和动作来处理输入的行,并理解BEGIN和END规则的用途。 2. **模式匹配**:详细讲解...

    非常经典的awk教程

    1. **awk基础知识**: - Awk是由Aho、Weinberger和Kernighan三位开发者命名的,缩写为awk。它是一款用于处理结构化数据的语言,常用于处理文本文件,报告生成,数据分析等。 - awk的工作原理是逐行扫描输入文件,...

    AWK详细文档 使用手册

    **AWK基础知识** AWK基于行处理,每一行被视为一个记录,每个记录可以被分割成多个字段。默认情况下,字段是由空格或制表符分隔的。AWK程序由一系列规则和动作组成,规则定义了何时执行特定的动作。 ### 2. **AWK...

    AWK应用和讲解步骤

    ### 一、AWK 基础语法 AWK 是一个强大的文本处理工具,在 Linux 和 Unix 系统中广泛使用。AWK 的基本命令格式如下: ``` awk [选项] '模式或条件 {动作}' 文件名 ``` #### 选项 - `-F` 或 `--field-separator`:...

    AWK命令资源收集.rar

    1. **AWK基础** - **变量**:AWK中的变量是自动声明的,无需预定义类型,可以是数字或字符串。 - **模式和动作**:AWK程序由模式和动作组成,模式匹配行,动作执行操作。 - **字段分隔符**:默认情况下,AWK按...

    awk实例入门教程.pdf

    随着对awk基础命令和语法的掌握,进一步的学习应包括: 1. **数组使用**:awk支持一维和多维数组,可以用于更复杂的文本处理任务。 2. **函数与自定义函数**:了解内置函数,如`split()`和`gsub()`,并学习如何编写...

    linuxsed与awk第三版

    5. Awk基础:介绍awk的语法结构,如模式和动作,以及内置变量和函数。 6. Awk模式匹配:理解awk中的模式匹配机制,包括字段分割和模式匹配规则。 7. 控制结构:学习如何在awk中使用条件语句(if-else)和循环(for,...

    初步介绍awk入门的一些基础知识

    ### awk基础知识详解 #### 一、awk概述与基础命令 **awk**是一种强大的文本处理工具,在Linux和Unix环境中被广泛使用。它最初由贝尔实验室开发,名称“awk”即为三位开发者Alfred Aho、Peter Weinberger 和 Brian ...

    awk实用手册

    1. **awk基础** awk的工作原理是基于行的处理,它会读取输入文件的一行一行,然后根据指定的模式(pattern)进行匹配,并执行相应的动作(action)。基本语法是`awk 'pattern {action}' file`。例如,`awk '/...

    详解著名的awk_oneliner

    #### 二、awk基础概念 `awk` 是一种强大的文本处理工具,它支持数据提取和报告生成。`awk` 程序通常用于解析文本文件中的数据,并根据特定条件执行操作。`awk` 程序的基本结构包括一系列的“模式{动作}”语句,这些...

    linux文本分析awk基础命令介绍(8)

    ### Linux文本分析之AWK基础命令详解 #### 一、AWK概述 AWK是一种用于文本处理的强大脚本语言,其名称来源于三位开发者 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的姓氏首字母。AWK 能够对文本进行高效地...

    Linux AWK 命令

    **AWK基础知识** 1. **基本语法**:`awk 'ACTION {COMMAND}' FILENAME`,ACTION是匹配条件,COMMAND是执行的动作,FILENAME是处理的文件。如果ACTION为空,表示对每一行都执行COMMAND。 2. **字段分隔符**:默认情况...

    三剑客-awk.txt

    awk基础

    awk_linux_bash_awk_

    **awk基础知识** `awk`这个名字来源于它的创始人——Aho、Wegman和Kernighan。它的工作原理是在文件或标准输入中逐行扫描,根据用户定义的模式和动作对每一行进行处理。基本语法结构如下: ```awk awk '模式 {动作}'...

    awk教程--别人家的笔记

    #### 八、awk基础示例 继续使用`a.txt`文件,进行以下操作: - **打印列或域** - 示例:`awk -F' ' '{print $2}' a.txt` (打印第二列) - 解析:通过`-F`选项设置字段分隔符为空格,`$2`表示打印第二列内容。 ...

Global site tag (gtag.js) - Google Analytics