1. 分割符: awk -F: '{print $1,$5}' test
多分割符: awk -F'[:\t]' '{print $1,$3}' test
2. awk 环境变量:[不全]
> 当前记录的第n个字段,字段间由FS分隔.
> $0 完整的输入记录.
> FILENAME 当前文件名
> FS 字段分割符.
> NF 当前记录中的字段数.
> NR 当前记录数.
> RS 记录分隔符(默认是一个换行符)。
> RSTART 由match函数所匹配的字符串的第一个位置。
3. 匹配操作:
awk '$1 ~/^root/' test 将显示test文件第一列中以root开头的行。
awk '{max = {$1 > $3} ? $1: $3: print max}' test。如果第一个域大于第三个域,$1就赋值给max,否则$3就赋值给max。
4. 范围模板: awk '/root/,/mysql/' test将显示root第一次出现到mysql第一次出现之间的所有行。
5. 将多行按分割符合并为一行:
cat ip.txt | awk -v RS="[" '{print $1, $2, $3}'
6. 实例:
$ awk '/^(no|so)/' test-----打印所有以模式no或so开头的行。
$ awk '/^[ns]/{print $1}' test-----如果记录以n或s开头,就打印这个记录。
$ awk '$1 ~/[0-9][0-9]$/(print $1}' test-----如果第一个域以两个数字结束就打印这个记录。
$ awk '$1 == 100 || $2 < 50' test-----如果第一个或等于100或者第二个域小于50,则打印该行。
$ awk '$1 != 10' test-----如果第一个域不等于10就打印该行。
$ awk '/test/{print $1 + 10}' test-----如果记录包含正则表达式test,则第一个域加10并打印出来。
$ awk '{print ($1 > 5 ? "ok "$1: "error"$1)}' test-----如果第一个域大于5则打印问号后面的表达式值,否则打印冒号后面的表达式值。
$ awk '/^root/,/^mysql/' test----打印以正则表达式root开头的记录到以正则表达式mysql开头的记录范围内的所有记录。
笔记原文: http://www.linux.gov.cn/shell/awk.htm
分享到:
相关推荐
在给定的文件信息中,我们探讨了AWK这一强大文本处理工具中的算数函数、字符串函数以及其他功能,包括时间函数。以下是对这些知识点的详细解释: ### 算数函数 1. **atan2(y,x)**:此函数计算坐标 (x,y) 的角度...
Linux中的`awk`是一个强大的文本分析工具,由Alfred Aho、Brian Kernighan和Peter Weinberger三位开发者创建,因此得名。`awk`的主要功能是处理文本和数据,通过匹配特定模式对文件中的行进行操作。在Linux系统中,...
本笔记主要涵盖了AWK的基础知识和高级特性,旨在帮助读者理解和掌握这一实用工具。 **一.1 什么是AWK?** AWK是由Aho、Weinberger和Kernighan三位计算机科学家开发的,它的名字就是由他们的姓氏首字母组成的。AWK是...
AWK是一种编程语言,用于在Linux环境下对文本和数据进行处理和分析。它是许多UNIX系统中的标准工具,并且是文本处理的强大工具。AWK通过模式匹配来处理文本文件,其中可以指定一系列规则,称为模式和动作,来对输入...
`awk` 是一种强大的文本分析工具,常用于处理和解析结构化的文本文件,如日志文件、配置文件等。在Linux和Unix系统中,`awk` 提供了一种灵活的方式来提取、过滤和处理数据。本篇文章将深入讲解 `awk` 的基本用法和...
awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和 动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。...
### PDF电子书《Awk学习笔记2010修改版》相关知识点 #### AWK简介 AWK是一种强大的脚本语言,由Alfred V. Aho、Peter J. Weinberger和Brian W. Kernighan在1977年设计并实现。这三位计算机科学家的名字首字母合成了...
**awk学习笔记与实例解析** awk 是一种强大的文本分析工具,尤其在Linux和Unix系统中广泛使用。它允许用户通过模式匹配和处理规则对输入数据进行操作,特别适合于处理结构化的文本文件,如日志文件、配置文件等。本...
`Awk` 是一个强大的文本分析工具,常用于处理结构化的数据文件,如CSV或TSV格式。在Unix和Linux环境中,它被广泛应用于数据处理和报告生成。下面将详细介绍`Awk`的一些核心概念和功能。 1. **awk 语法**: `Awk`...
本笔记将详细介绍AWK的基本概念、语法、命令选项以及常用的特性。 ### 1. AWK简介 AWK是由三位开发者的首字母命名的——Alfred V. Aho、Peter J. Weinberger和Brian W. Kernighan。它是一种内置了多种功能的语言,...
awk是一种强大的文本分析工具,广泛应用于Linux和Unix系统中。它的名字来源于三位创始人Alfred Aho、Brian Kernighan和Peter Weinberger的首字母。awk能够处理文本文件、标准输入和其他命令的输出,通过匹配特定模式...
### awk学习笔记精要 #### 1. awk简介 awk是一种功能强大的文本处理语言,主要用于在Linux/Unix环境中处理文本和数据。它能够从标准输入、文件或其它命令的输出中提取并处理数据,支持自定义函数和动态正则表达式...
awk学习笔记主要涵盖了awk编程语言的基础知识和常用功能。awk是一种强大的文本分析工具,尤其在Linux/Unix环境下广泛使用。它能够处理标准输入、文件或其它命令的输出,通过模式匹配对文本进行分析和处理。 1. **...
### awk学习使用笔记及举例 #### 1. awk简介 awk是一种专为文本处理而设计的编程语言,常用于Linux/Unix环境下。它可以处理来自标准输入、文件或其它命令输出的数据。awk支持用户自定义函数和动态正则表达式等功能...
### awk教程知识点详解 #### 一、awk简介 - **定义**:`awk`是一种用于文本数据处理的强大工具,属于解释型编程语言。 - **用途**:主要用于数据分析、报告生成等场景,尤其适用于处理结构化的文本文件。 #### 二...
AWK是一种强大的文本分析工具,尤其在处理结构化数据文件时效率极高。它以其独特的模式匹配和编程能力,被广泛应用于系统管理和数据分析中。以下是对标题和描述中提及的AWK学习知识点的详细阐述: 1. **AWK的定义**...
### awk 学习笔记 #### 1. awk简介 awk是一种功能强大的文本处理语言,主要用于Linux和Unix环境下的数据处理。它可以处理来自标准输入、文件或命令输出的数据,支持自定义函数和动态正则表达式等功能,使其成为...