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的语法比较复杂,但功能强大,是文本处理的常用工具之一。

目录
相关文章
|
机器学习/深度学习 负载均衡 Java
【SpringBoot系列】微服务远程调用Open Feign深度学习
【4月更文挑战第9天】微服务远程调度open Feign 框架学习
761 2
关于 CentOS8出现“Error: Failed to download metadata for repo ‘AppStream‘: xxxx” 的解决方法
关于 CentOS8出现“Error: Failed to download metadata for repo ‘AppStream‘: xxxx” 的解决方法
11106 0
关于 CentOS8出现“Error: Failed to download metadata for repo ‘AppStream‘: xxxx” 的解决方法
|
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
1809 0
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
37415 5
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
295 4
|
设计模式 Java 程序员
拜托!别再滥用 != null 判空了!!——优化你的代码,提升开发效率
【8月更文挑战第20天】在软件开发的世界里,null 值的存在如同一把双刃剑,既提供了灵活性,也带来了复杂性。而!= null 的判空操作,几乎成了每个程序员日常编码中的“标配”。然而,过度依赖这种简单直接的判空方式,往往会导致代码可读性下降、逻辑冗余、甚至引入难以察觉的bug。今天,我们就来探讨一下如何优雅地减少或避免滥用!= null判空,从而提升代码质量和开发效率。
455 3
@Builder 注解问题之如何在使用@Builder时设置默认值
@Builder 注解问题之如何在使用@Builder时设置默认值
627 0
|
分布式计算 Hadoop 分布式数据库
死磕HBase(二)
死磕HBase(二)
|
存储 缓存 Java
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中数据的问题如何解决
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中数据的问题如何解决
317 0