Python全系列 教程
3567个小节阅读:5931.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
awk 命令是一款功能强大的文本处理工具,常用于对文本文件进行分析、过滤和格式化
在 Linux 系统中,awk 命令可以通过终端界面或者脚本方式进行调用
xxxxxxxxxx
awk [-F ":"] 'pattern {action}' filename
例如,下面的命令会将 file.txt 文件中包含字符串 "Linux" 的行进行输出:
xxxxxxxxxx
awk '/Linux/{print}' file.txt
awk 命令提供了许多内置变量,可以用于获取特定行或列的信息。以下是常用的一些内置变量:
NF:表示当前行的有多少列。
NR:表示当前处理的是文件中的第几行。
$0:代表整个当前行。
$1:代表当前行的第一个字段,依次类推。
例如,下面的命令会输出 file.txt 文件中每一行的第一个字段:
xxxxxxxxxx
awk '{print $1}' file.txt
awk 命令支持一些操作符,可以对文本进行过滤和格式化。以下是常用的一些操作符:
例如,下面的命令会输出 file.txt 文件中包含字符串 "Linux" 且第二个字段大于 20 的行:
xxxxxxxxxx
awk '/Linux/ && $2 > 20 {print}' file.txt
在示例中, && 表示逻辑与操作符,该命令只有当两个条件都被满足时,才会进行输出行的操作。
awk 命令还提供了许多内置函数,可以用于对文本进行处理。以下是一些常用的内置函数:
例如,下面的命令会将 file.txt 文件中每一行的第一个字段转换成大写字母:
xxxxxxxxxx
awk '{print toupper($1)}' file.txt
在示例中,toupper() 函数将第一个字段中的所有字符转换为大写字母,并通过 print 命令进行输出。
xxxxxxxxxx
Name,Age,Gender,Country
Alice,25,F,USA
Bob,30,M,Canada
Cathy,18,F,China
David,28,M,UK
Emily,22,F,USA
Frank,35,M,Australia
Gina,32,F,Italy
Harry,40,M,USA
Ivy,27,F,China
John,45,M,Germany
xxxxxxxxxx
# 输出第一列,即姓名
awk -F"," '{print $1}' file.txt
# 输出每个人的名字和国家,以逗号分隔
awk -F"," '{print $1,$4}' file.txt
# 输出年龄小于20的人的名字和国家
awk -F"," '$2<20 {print $1, $4}' file.txt
# 输出中国和美国出生的人的姓名和年龄
awk -F"," '$4 ~/China|USA/ {print $1, $2}' file.txt
# 将所有人的年龄增加 5 岁后进行输出,并将输出结果保存到文件中
awk -F"," '{$2+=5; print}' file.txt > newfi
awk -F"," 'NR>1 {$2+=5; print}' file.txt > newfile.txt
实时效果反馈
1. 在使用 awk 命令处理文本时,以下哪个选项可以用于指定分隔符?
A -F
B -P
C -R
D -S
答案
1=>A