Linux中的强大的行处理器工具!awk!

Linux中的强大的行处理器工具!awk!

AWK(Arithmetic Widely Known)是一种文本处理工具,主要用于在Linux和Unix系统中对文本文件进行模式扫描和处理。它的基本语法是:

awk 'pattern { action }' file

其中,pattern是一个正则表达式,用于匹配文本中的特定模式;action是对匹配到的模式执行的操作;file是要处理的文本文件。

AWK有很多参数和变量命令,以下是一些常用的参数和变量命令

-F:指定输入字段分隔符,默认为空格。
-v:定义一个变量,例如:-v var="value"。
-f:从文件中读取AWK脚本,例如:-f script.awk。
-g:启用全局搜索模式,即在整个文件中查找匹配项,而不仅仅是当前行。
-l:仅输出包含匹配行的行号。
-r:使用扩展正则表达式。
-w:将匹配到的单词作为字段输出。
-W:将匹配到的单词作为字段输出,但不包括标点符号。
-m:限制输出的行数。
-M:限制输出的字节数。

下面是一些代码块案例演示:

使用-F参数指定输入字段分隔符为逗号:

echo "a,b,c" | awk -F, '{print $1}'

输出结果:

a

使用-v参数定义一个变量:

echo "Hello, World!" | awk -v var="World" '{print var}'

输出结果:

World

使用-f参数从文件中读取AWK脚本:
创建一个名为script.awk的文件,内容如下:

BEGIN {
    print "Hello, AWK!" }

然后运行以下命令:

echo "This is a test." | awk -f script.awk

输出结果:

Hello, AWK!

使用-g参数启用全局搜索模式:

echo "apple orange apple banana" | awk '/apple/ {print $1}' -g

输出结果:

apple apple apple

使用-l参数仅输出包含匹配行的行号:

echo "apple orange apple banana" | awk '/apple/ {print NR}' -l

输出结果:

1
3
5

创建一个文本文件,例如test.txt,内容如下:

Hello, world!
This is a test file.
We are using awk to process this file.

使用扩展正则表达式(-r):

awk -r '{print $1}' test.txt

输出结果:

Hello,
This
We

将匹配到的单词作为字段输出(-w):

awk -w '{print $1}' test.txt

输出结果:

Hello
This
We

将匹配到的单词作为字段输出,但不包括标点符号(-W):

awk -W '{print $1}' test.txt

输出结果:

Hello
This
We

限制输出的行数(-m):

awk -m 2 '{print $1}' test.txt

输出结果:

Hello
This

限制输出的字节数(-M):

awk -M 10 '{print $1}' test.txt

输出结果:

Hello

结尾

以上就是本期的全部内容,希望对你有所帮助,一键三连拜谢!

最近更新

  1. TCP协议是安全的吗?

    2024-01-07 17:40:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-07 17:40:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-07 17:40:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-07 17:40:04       18 阅读

热门阅读

  1. 云原生系列Go语言篇-标准库 Part 2

    2024-01-07 17:40:04       32 阅读
  2. go work

    2024-01-07 17:40:04       39 阅读
  3. 【Linux】CentOS 7重装保留数据的方法

    2024-01-07 17:40:04       41 阅读
  4. 面试 Vue 框架八股文十问十答第一期

    2024-01-07 17:40:04       44 阅读
  5. 【极客日常】慢查询的风险治理思路

    2024-01-07 17:40:04       48 阅读
  6. MongoDB主从仲裁模式安装

    2024-01-07 17:40:04       30 阅读
  7. C语言代码编码规范

    2024-01-07 17:40:04       37 阅读
  8. Python高级用法:装饰器用于参数检查

    2024-01-07 17:40:04       30 阅读