当前所在位置: 首页 > 数码科技

awk命令 - 文本和数据进行处理的编程语言

2024-01-09 本站作者 【 字体:

awk命令来自三位创始人“Alfred Aho,Peter Weinberger, Brian Kernigh

awk命令来自三位创始人“Alfred Aho,Peter Weinberger, Brian Kernighan”的姓氏缩写,其功能是用于对文本和数据进行处理的编程语言。使用awk命令可以让用户自定义函数或正则表达式对文本内容进行高效管理,与sed、grep并称为Linux系统中的文本三剑客。

语法格式:awk 参数 文件名

常用参数:

-c 使用兼容模式
-C 显示版权信息
-e 指定源码文件
-f 从脚本中读取awk命令
-F 设置输入时的字段分隔符
-v 自定义变量信息
-h 显示帮助信息
-m 对指定值进行限制
-n 识别输入数据中得到八进制和十六进制数
-O 启用程序优化
-v 定义一个变量并赋值
-V 显示版本信息

内置变量:

变量名称 说明
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符
NF 浏览记录域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符

参考示例

仅显示指定文件中第1、2列的内容(默认以空格为间隔符):

[root@linuxcool ~]# awk '{print $1,$2}' File.cfg
#version=RHEL8
ignoredisk --only-use=sda
autopart --type=lvm
# Partition
clearpart --none
………………省略部分输出信息………………

以冒号为间隔符,仅显示指定文件中第1列的内容:

[root@linuxcool ~]# awk -F : '{print $1}' /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
………………省略部分输出信息………………

以冒号为间隔符,显示系统中所有UID号码大于500的用户信息(第3列):

[root@linuxcool ~]# awk -F : '$3>=500' /etc/passwd
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
………………省略部分输出信息………………

仅显示指定文件中含有指定关键词root的内容:

[root@linuxcool ~]# awk '/root/{print}' File.cfg 
rootpw --iscrypted $6$n9sZuTcY8Yzk4l.Q$LsuMNAROewyx.LomDtPpL9iJIOD3tsRThnzsAGE0hZXLMtdVCHVQ3pxzm3El8K2kuhcYLXJnhz.xUDGiE27s/1
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty

以冒号为间隔符,仅显示指定文件中最后一个字段的内容:

[root@linuxcool ~]# awk -F : '{print $NF}' /etc/passwd
/bin/bash
/sbin/nologin
/sbin/nologin
/sbin/nologin
/sbin/nologin
/bin/sync
………………省略部分输出信息………………

与该功能相关的Linux命令:

  • dpkg-split命令 – 分割软件包
  • mysqlcheck命令 – 检查和修复MyISAM表
  • apmd命令 – 进阶电源管理服务程序
  • mattrib命令 – 更改或显示MS-DOS文件的属性
  • aureport命令 – 生成审计信息报表
  • lftpget命令 – 下载指定的文件
  • smbclient命令 – 存取SMB/CIFS服务器的用户端程序
  • apt-key命令 – 管理APT软件包密钥信息
  • diff3命令 – 比较3个文件的不同之处
  • egrep命令 – 在文件内查找指定的字符串
阅读全文
id_1广告位-300*300
相关推荐

华为哪款手机玩游戏性能最好

华为哪款手机玩游戏性能最好
随着手机游戏的日益普及,智能手机的性能对于玩家来说变得尤为重要。作为领先的智能手...

扩音器什么品牌音质最好(哪个品牌的扩音器音质最佳?)

扩音器什么品牌音质最好(哪个品牌的扩音器音质最佳?)
在音响领域,扬声器作为一种重要的扩音设备,广泛应用于演讲、演出、会议等场合。市场...

铠侠固态硬盘怎么样(铠侠固态硬盘的表现如何?)

铠侠固态硬盘怎么样(铠侠固态硬盘的表现如何?)
固态硬盘作为一种计算机存储设备,近年来因其在性能和速度上的突破而受到广泛关注。作...

公认最静音的电风扇(国内10大电风扇品牌排行)

公认最静音的电风扇(国内10大电风扇品牌排行)
本文将对国内10大电风扇品牌进行排名,并深入分析各品牌的产品优势。公认最安静的电...

光信号闪红灯会自己好吗(路由器闪红灯是怎么回事)

光信号闪红灯会自己好吗(路由器闪红灯是怎么回事)
路由器断网是一件很头疼的事情。路由器闪烁红灯,无法连接到网络。路由器上闪烁的红灯...

联想k29为什么是神机(联想k29怎么样)

联想k29为什么是神机(联想k29怎么样)
在现代科技发展的浪潮中,智能手机已经成为人们生活的必需品。在众多手机品牌中,联想...

国内冰箱排名前十的品牌(质量最好的10大冰箱品牌)

国内冰箱排名前十的品牌(质量最好的10大冰箱品牌)
中国冰箱行业是全球最大的冰箱生产和消费市场之一。今天小编介绍2023年中国十大冰...

凯夫拉手机壳怎么样(凯夫拉手机壳的表现如何?)

凯夫拉手机壳怎么样(凯夫拉手机壳的表现如何?)
手机已经成为我们日常生活中不可或缺的一部分,因此保护手机免受损害成为一项重要的任...

键盘突然没反应是怎么回事

键盘突然没反应是怎么回事
随着现代科学技术的飞速发展,计算机已经成为我们生活中不可缺少的一部分。但是在电脑...

垃圾处理器有必要买吗(垃圾处理器值得买吗)

垃圾处理器有必要买吗(垃圾处理器值得买吗)
现代社会,科技的不断进步,消费方式的改变,让我们面临越来越多的选择。作为一种新型...