Linux Awk命令使用详解

作者:很菜不狗2024.01.29 17:34浏览量:20

简介:Awk是一种强大的文本处理工具,用于在Linux和Unix系统中进行模式扫描和文本/数据提取。本文将详细介绍Awk命令的用法,包括基本语法、内置变量、操作符、函数等。

Awk是一种强大的文本处理工具,它在Linux和Unix系统中广泛使用。Awk的主要功能是模式扫描和文本/数据提取,它可以轻松地处理文本文件和数据流,并根据指定的模式执行各种操作。
基本语法:
Awk的基本语法如下:

  1. awk 'pattern { action }' file

其中,’pattern’是用于匹配行的模式,’action’是在匹配行上执行的操作。如果没有指定文件名,则从标准输入读取数据。
内置变量:
Awk有许多内置变量,可以用于访问当前行的内容、分隔符、记录分隔符等。以下是几个常用的内置变量:

  • $0:当前行的完整内容。
  • $1, $2, $3…:当前行的第1、第2、第3个字段。
  • $NF:当前行的最后一个字段。
  • FS:字段分隔符,默认是空格。
  • OFS:输出字段分隔符,默认是空格。
    *ORS:输出记录分隔符,默认是换行符。
    操作符:
    Awk支持各种操作符,包括算术操作符和逻辑操作符。以下是几个常用的操作符:
  • +:加法操作符。
  • -:减法操作符。
  • *:乘法操作符。
  • /:除法操作符。
  • %:取模操作符。
  • ==:等于操作符。
  • !=:不等于操作符。
  • <:小于操作符。
  • :大于操作符。

  • <=:小于等于操作符。
  • =:大于等于操作符。
    函数:
    Awk还提供了一些内置函数,可以用于执行各种计算和字符串操作。以下是几个常用的函数:

  • printf:格式化输出。
  • length:获取字符串长度。
  • substr:获取子字符串。
  • split:根据分隔符将字符串分割成数组。
  • join:将数组中的元素连接成一个字符串。
  • index:查找子字符串在主字符串中的位置。
  • match:在字符串中查找正则表达式的匹配项。
  • gsub:在字符串中全局替换匹配项。
  • sub:在字符串中替换匹配项。
  • delete:删除数组中的元素。