服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux中Awk命令的五个常见用法

Linux中Awk命令的五个常见用法

2023-11-30 15:34科学随想录 Linux

当谈到文本处理和数据操作时,Linux中的awk命令是一个非常有用的工具。Awk是一种强大的文本处理工具,它可以从文件或标准输入中读取数据,对数据进行处理,并生成格式化的输出。以下是Linux中awk命令的五个常见用法,每个用法

当谈到文本处理和数据操作时,Linux中的awk命令是一个非常有用的工具。Awk是一种强大的文本处理工具,它可以从文件或标准输入中读取数据,对数据进行处理,并生成格式化的输出。以下是Linux中awk命令的五个常见用法,每个用法都附带有代码和输出示例。

1. 打印指定列

Awk命令可以用于从文件或标准输入中提取指定的列。下面的例子演示了如何打印文件中的第一列和第三列:

$ cat data.txt
John Doe 25
Jane Smith 30
Tom Johnson 35

$ awk '{print $1, $3}' data.txt
John 25
Jane 30
Tom 35

2. 使用条件筛选行

Awk命令可以根据条件筛选行并进行处理。下面的例子演示了如何筛选出年龄大于等于30岁的行:

$ cat data.txt
John Doe 25
Jane Smith 30
Tom Johnson 35

$ awk '$3 >= 30' data.txt
Jane Smith 30
Tom Johnson 35

3. 自定义分隔符

Awk命令默认使用空格作为字段分隔符,但是可以根据需要自定义分隔符。下面的例子演示了如何使用冒号作为字段分隔符,并打印第二列:

$ cat data.txt
John:Doe:25
Jane:Smith:30
Tom:Johnson:35

$ awk -F ':' '{print $2}' data.txt
Doe
Smith
Johnson

4. 使用内置变量

Awk命令提供了许多有用的内置变量,可以在处理过程中使用。其中,NF表示当前行的字段数量,NR表示当前行的行号。下面的例子演示了如何打印每行的行号和字段数量:

$ cat data.txt
John Doe 25
Jane Smith 30
Tom Johnson 35

$ awk '{print "Line:", NR, "Fields:", NF}' data.txt
Line: 1 Fields: 3
Line: 2 Fields: 3
Line: 3 Fields: 3

5. 使用内置函数

Awk命令还提供了许多内置函数,可以用于字符串操作、数学计算等。下面的例子演示了如何使用内置函数计算文件中所有数字的总和:

$ cat data.txt
10
20
30
40

$ awk '{sum += $1} END {print "Sum:", sum}' data.txt
Sum: 100

以上是Linux中awk命令的五个常见用法示例。通过灵活使用awk命令,您可以轻松处理和操作文本数据。无论是简单的数据提取还是复杂的数据处理,awk都是一个非常强大的工具。

原文地址:https://mp.weixin.qq.com/s/nGzAuPSdDgRt1jAWH0WJoA

延伸 · 阅读

精彩推荐
  • Linuxlinux搭建ldap服务器详细步骤

    linux搭建ldap服务器详细步骤

    这篇文章主要介绍了linux搭建ldap服务器详细步骤,需要的朋友可以参考下 ...

    linux教程网6662019-11-11
  • LinuxSSH使用指南

    SSH使用指南

    SSH 的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样中间人这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有...

    linuxaid2592020-04-19
  • Linuxlinux 后台日志 mysql 错误异常的解释

    linux 后台日志 mysql 错误异常的解释

    下面小编就为大家带来一篇linux 后台日志 mysql 错误异常的解释(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看...

    Linux教程网12202021-11-18
  • Linux使用fdisk进行磁盘分区

    使用fdisk进行磁盘分区

    一、使用fdisk进行磁盘分区 1.使用fdisk -l命令查看待分区磁盘 2.使用fdisk命令对该磁盘进行分区,命令如下: fdisk /dev/vdb 3.如help提示n为创建新分区,输入n如...

    Wang启年11862023-10-18
  • LinuxLinux stat命令的使用

    Linux stat命令的使用

    这篇文章主要介绍了Linux stat命令的使用,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下...

    Dabelv4362020-08-28
  • LinuxLinux高性能网络编程之TCP连接的内存使用

    Linux高性能网络编程之TCP连接的内存使用

    当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVBUF这样的接口来...

    今日头条3162020-11-06
  • Linux深度操作系统 Deepin 宣布 DTK 开发框架已完成基于 Qt6 的全面升级

    深度操作系统 Deepin 宣布 DTK 开发框架已完成基于 Qt6 的全面升级

    9 月 13 日消息,据深度操作系统 deepin 新闻中心显示,deepin DTK(Development ToolKit)近日已正式适配 Qt6 (6.4.2),实现全面升级。 ▲ 图源 深度操作系统 deepin...

    IT之家32023-09-14
  • LinuxLinux chkconfig命令浅析

    Linux chkconfig命令浅析

    这篇文章主要介绍了Linux chkconfig命令浅析,着重介绍chkconfig命令的语法和参数的使用,配有中文说明,易记易懂,需要的朋友可以参考下 ...

    Linux命令大全1862019-11-06