awk命令详解整理

简介: awk命令详解整理

awk是一种强大的文本处理工具,可以对文本文件进行搜索、替换、统计、分析等操作。awk的语法比较复杂,但功能强大,是文本处理的常用工具之一。
awk的基本语法如下:

1、awk '{print $1}' input_file:输出input_file中每一行的第一个字段。
2、awk '{print $2}' input_file:输出input_file中每一行的第二个字段。
3、awk '{print $3}' input_file:输出input_file中每一行的第三个字段。
4、awk '{print $0}' input_file:输出input_file中每一行的所有字段。
5、awk '{print NR}' input_file:输出input_file中每一行的行号。
6、awk '{print NF}' input_file:输出input_file中每一行的字段数。
7、awk '{printprint NR}' input_file:输出input_file中每一行的行号和字段数。
其中,input_file是指要处理的文本文件,$1、$2、$3等表示每一行的第一个、第二个、第三个字段,NR表示当前行号,NF表示当前行的字段数。
下面是一些常用的awk命令:

NR==1:只输出第一行。
NR==2:只输出第二行。
NR==NF:只输出最后一行。
NR%2==0:只输出偶数行。
NR%3==0:只输出第三行。
NR==NF {print
1
,
1,2, $3}:只输出最后一行的第一个、第二个、第三个字段。
NR==1 {print "First line"}:输出第一行的字符串"First line"。
NR==NF {print "Last line"}:输出最后一行的字符串"Last line"。
NR==1 {print "First line"; print NR, NF}:输出第一行的字符串"First line"和行号和字段数。
NR==NF {print NR, NF,
1
,
1,2, $3}:输出最后一行的行号、字段数和第一个、第二个、第三个字段。
总之,awk是一种强大的文本处理工具,可以对文本文件进行搜索、替换、统计、分析等操作。awk的语法比较复杂,但功能强大,是文本处理的常用工具之一。

目录
相关文章
|
Web App开发 对象存储
解决:x509: cannot validate certificate for IP 报错
问题 今天调用上传接口上传文件时,遇到了一个 x509 类型报错,具体报错信息如下: 2021-10-15 17:46:13.145 ERROR oss/upload.go:210 upload process Failed {"error": "Post "https://192.168.215.139:9443/store/file/upload\": x509: cannot validate certificate for 192.168.215.139 because it doesn't contain any IP SANs"} panic: send on closed cha
1720 0
关于 CentOS8出现“Error: Failed to download metadata for repo ‘AppStream‘: xxxx” 的解决方法
关于 CentOS8出现“Error: Failed to download metadata for repo ‘AppStream‘: xxxx” 的解决方法
10980 0
关于 CentOS8出现“Error: Failed to download metadata for repo ‘AppStream‘: xxxx” 的解决方法
|
Linux 网络安全 Python
linux后台运行命令screen的使用
linux后台运行命令screen的使用
803 2
linux后台运行命令screen的使用
|
11月前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
213 4
|
缓存 关系型数据库 MySQL
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
21407 0
|
设计模式 Java 程序员
拜托!别再滥用 != null 判空了!!——优化你的代码,提升开发效率
【8月更文挑战第20天】在软件开发的世界里,null 值的存在如同一把双刃剑,既提供了灵活性,也带来了复杂性。而!= null 的判空操作,几乎成了每个程序员日常编码中的“标配”。然而,过度依赖这种简单直接的判空方式,往往会导致代码可读性下降、逻辑冗余、甚至引入难以察觉的bug。今天,我们就来探讨一下如何优雅地减少或避免滥用!= null判空,从而提升代码质量和开发效率。
335 3
|
存储 缓存 Java
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中数据的问题如何解决
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中数据的问题如何解决
267 0
|
机器学习/深度学习 运维 Linux
lspci总结
lspci总结
|
网络协议 C++ Docker
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
49173 1