shell编程-awk命令详解(超详细)

文章目录

  • 前言
  • 一、awk命令介绍
    • 1. awk命令简介
    • 2. awk命令的基本语法
    • 3. 常用的awk命令选项
    • 4. 常用的awk内置变量
  • 二、awk命令示例用法
    • 1. 打印整行
    • 2. 打印特定字段
    • 3. 根据条件筛选行
    • 4. 自定义分隔符
    • 5. 从文件中读取`awk`脚本
  • 总结


前言

awk命令是一种强大的文本处理工具,可以帮助我们快速高效地处理文本数据。本文将介绍awk命令的基本语法和常用用法,帮助读者了解如何使用awk命令来处理文本数据。


一、awk命令介绍

1. awk命令简介

awk是一种强大的文本处理工具,用于从文本文件中提取和处理数据。它逐行读取文件中的数据,并根据指定的规则执行相应的操作。

2. awk命令的基本语法

awk '条件 { 动作 }' 文件

其中,条件是一个用于筛选行的表达式,动作是在满足条件的行上执行的操作。文件是要处理的输入文件。

3. 常用的awk命令选项

  • -F <分隔符>:指定输入字段的分隔符。
  • -v <变量名>=<值>:定义一个变量并赋值。
  • -f <脚本文件>:从指定的脚本文件中读取awk命令。

4. 常用的awk内置变量

  • NR:当前行的行号。
  • NF:当前行的字段数。
  • $0:当前行的完整内容。
  • $1$2$3等:当前行的第1、2、3等字段。

二、awk命令示例用法

以这个内容为示例讲解:
shell编程-awk命令详解(超详细)_第1张图片

1. 打印整行

打印demo.txt文件的每一行数据。

awk '{ print }' demo.txt

awk '{ print $0 }' demo.txt

shell编程-awk命令详解(超详细)_第2张图片

2. 打印特定字段

打印demo.txt文件每一行的第一和第三个字段,默认以空格分隔

awk '{ print $1, $3 }' demo.txt

shell编程-awk命令详解(超详细)_第3张图片
打印demo.txt文件每一行最后一个字段

awk '{ print $NF }' demo.txt

shell编程-awk命令详解(超详细)_第4张图片

3. 根据条件筛选行

打印demo.txt文件的第二行

awk 'NR == 2 { print }' demo.txt

在这里插入图片描述

4. 自定义分隔符

打印demo.txt文件的每一行的使用逗号分隔后的第三个字段

awk -F ',' '{ print $3 }' demo.txt

shell编程-awk命令详解(超详细)_第5张图片

5. 从文件中读取awk脚本

从script.awk文件读取awk命令用于file.txt文件

awk -f script.awk file.txt

总结

awk命令是一种强大的文本处理工具,它可以根据指定的条件从文本文件中提取和处理数据。本文介绍了awk命令的基本语法和常用选项,并提供了一些示例用法,包括打印整行、打印特定字段、根据条件筛选行等。读者可以根据自己的需求和实际情况,灵活运用awk命令来处理文本数据,提高工作效率。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

你可能感兴趣的:(shell编程,linux,bash)