网站搜索

15 个有趣的 awk 命令

本文将带您了解一些有趣的 awk 命令以及何时使用它们。请继续阅读以找出答案!

awk简介

AWK 是 UNIX 和 Linux 中流行的语言。它的名字来源于它的作者:Alfred Aho、Peter Weinberger 和 Brian Kernighan。 awk 命令允许访问 AWK 编程语言,该语言旨在处理文本流中的数据。

awk 广泛用于扫描模式和简化复杂操作,可帮助您编写有效的语句来定义文件中的文本模式。然后 awk 命令通过一次读取一行来处理这些语句,并根据给定的条件采取操作。

简而言之,awk 查找并替换文本,并帮助对给定数据进行排序、验证或索引。

AWK的特点

awk 具有许多独特的功能:

  1. awk 中不需要编译

  2. 常用于数据提取

  3. 通常用于执行文本操作

  4. 帮助生成需要的结果。

现在让我们探索 awk 命令的强大功能。

15 个有趣的 a

阅读更多 →

20 个 awk 示例

20 个 awk 示例

Linux 操作系统中存在许多实用工具来从文本数据或文件搜索并生成报告。用户可以使用 awk、grep 和 sed 命令轻松执行多种类型的搜索、替换和报告生成任务。 awk 不仅仅是一个命令。它是一种脚本语言,可以从终端和 awk 文件使用。与其他脚本语言一样,它支持变量、条件语句、数组、循环等。它可以逐行读取任何文件内容,并根据特定的分隔符分隔字段或列。它还支持正则表达式来搜索文本内容或文件中的特定字符串,并在找到任何匹配项时采取操作。本教程通过 20 个有用的示例展示了如何使用 awk 命令和脚本。

内容:
  1. awk 与 printf

  2. awk 在空白处分割

  3. awk 更改分隔符

  4. 带有制表符分隔数据的 awk

  5. 带有 csv 数据的 awk

  6. awk 正则表达式

  7. awk 不区分大小写的正则表达式

  8. 带有 nf(字段数)变量的 awk

  9. awk

    阅读更多 →

如何在awk命令中使用变量

变量用于在任何编程语言中临时存储任何值。在 awk 命令中定义变量类似于 bash 脚本语言,当 shell 变量与单引号和双引号一起使用时,它的工作方式与 bash 类似。 awk 命令有许多用于各种目的的内置变量。本教程通过不同的示例展示了如何在 awk 命令中使用用户定义变量、内置变量和 shell 变量。

E示例-1:定义并打印变量

`awk` 命令使用 ‘-v’ 选项来定义变量。在此示例中,在`awk`命令中定义了myvar变量来存储稍后打印的值“AWK变量”。从终端运行以下命令来检查输出。

$ echo | awk

阅读更多 →

如何在awk命令中使用for循环

循环用于多次执行某些语句。基于终止条件或数组元素数量的循环迭代。任何编程语言都支持三种类型的循环。 For 循环就是其中之一。 For 循环可以通过两种方式声明。简单的 for 循环包含三个部分。另一个 for 循环是 for-in 循环,用于迭代任何数据列表或数组。本教程通过各种示例展示了 awk 命令中这两种类型的循环的使用。

语法:
  1. for 循环声明:

for (initialization; termination condition; increment/decrement) {

阅读更多 →

如何在awk命令中使用数组

数组变量用于存储多个数据。大多数编程语言都支持存储多种数据。数组有两部分。这些是关键和价值。键用于访问值的位置。数组可以是数值数组和关联数组。数值数组仅支持数值作为键,关联数组支持数值和索引值作为键。 awk 命令支持关联数组。本教程通过各种示例展示了如何在 awk 命令中定义、访问或修改关联数组。

语法:
arrayName[Key] = Value

必须为数组变量声明一个名称。 arrayName 是这里数组的名称。每个数组都必须使用第三个括号来定义键或索引,并且它将是关联数组的任何字符串值。 值可以是将存储在数组的特定索引中

阅读更多 →

如何在awk命令中使用条件语句

条件语句用于任何编程语言中,以根据特定条件执行任何语句。编程中使用 if-else 和 if-elseif 语句编写条件语句时,条件语句根据值 true 或 false 执行。与其他编程语言一样,awk 支持所有类型的条件语句。本教程介绍了如何在 awk 命令中使用不同的条件语句。

语法:

下面提到四种类型的条件语句的语法。

  1. if 语句

if (condition){ statement }

当 if 条件返回 t

阅读更多 →

如何使用 awk 分割字符串文件

Linux awk 命令(来自开发人员名字的缩写:Aho、Weinberger 和 Kernighan)是处理和分析字符串文件的好方法。为了使文件包含更多信息,必须以行和列的形式组织它们。然后,您可以对这些文件使用 awk 来:

  • 逐行扫描文件。

  • 将每一行拆分为字段/列。

  • 指定模式并将文件的行与这些模式进行比较

  • 对与给定模式匹配的行执行各种操作

在本文中,我们将解释 awk 命令的基本用法以及如何使用它来分割字符串文件。我们在 Debian 10 Buster 系统上执行了本文中的示例,但它们可以轻松地复制到大多数 Linux 发行版上。

我们将使用的示例文件

我们将使用以下字符串示例文件来演示 awk 命令的用法:

这是示例文件的每一列所指示的内容:

  • 第一列包含学校雇员/教师的姓名

  • 第二列包含员工教授的主题

  • 第三列表示该员工是教授还是助理教授

  • 第四列包含员工的工资

阅读更多 →

如何使用“awk”解析制表符分隔的文件

`tab` 在制表符分隔文件中用作分隔符。创建这种类型的文本文件是为了以结构化格式存储各种类型的文本数据。 Linux 中存在不同类型的命令来解析此类文件。 `awk` 命令是以不同方式解析制表符分隔文件的方法之一。本教程介绍了如何使用“awk”命令读取制表符分隔的文件。

创建制表符分隔的文件:

创建一个名为 users.txt 的文本文件,其中包含以下内容来测试本教程的命令。该文件包含用户的姓名、电子邮件、用户名和密码。

用户.txt

Name Email Username       Password Md. Robin  robin@gmail.com

阅读更多 →

如何将正则表达式与“awk”命令一起使用

正则表达式 (regex) 用于查找文件中给定的字符序列。可以使用字母、数字和特殊字符等符号来定义模式。使用正则表达式模式可以轻松完成各种任务。在本教程中,我们将向您展示如何通过“awk”命令使用正则表达式模式。

图案中使用的基本字符

许多字符可用于定义正则表达式模式。最常用于定义正则表达式模式的字符定义如下。

\

引用一个新的元字符

^

匹配行的开头

$

匹配行尾

|

定义一个替代方案

()

定义一个组

[]

定义一个字符类

\w

匹配任何单词

\s

匹配任何空白字符

\d

匹配任意数字

\b

匹配任何

阅读更多 →

如何使用“awk”跳过文件的第一行

Linux 中“awk”命令有多种用途。例如,它可用于打印文本文件的内容。许多文本文件的第一行包含文件的标题,有时,在打印文件内容时必须跳过第一行。在本教程中,我们将向您展示如何使用“awk”命令完成此任务。

创建一个文本文件

要按照本教程进行操作,请创建一个名为 booklist.txt 的制表符分隔文本文件,其中包含以下内容。该文件包含书籍及其相应作者的列表。在本教程中,我们将向您展示如何在跳过第一行后打印该文件的不同部分。

Cybersecurity with bash Paul Troncone, Carl Albing Command Line Kung Fu Jason Cannon Linux Command Line Travis Booth Bash in easy steps Mike McGrath Unix in easy st

阅读更多 →