awk命令 - 文本和数据进行处理的编程语言
2024-01-09 本站作者 【 字体:大 中 小 】
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命令 – 在文件内查找指定的字符串
猜你喜欢
IQOO12或者iQOO12Pro,我建议你选择标准版,原因有四。
支付宝乘车福利来了!武威公交和支付宝公交代码再次升级
葫芦丝什么品牌的音质最好(葫芦丝品牌哪家强)
抖音如何获得拍15秒以上视频权限
小时候觉得很厉害的“高科”现在几乎消失了。你用过几个?
微信拍一拍怎么用
华为鸿蒙系统4.0系统图库隐藏功能---智能选择消除
微信上买了高铁票怎么取
华为Mate 60和华为Mate 60 Pro相比,在配置上有些差距,一看就懂。
怎么通过手机号查询EMS快递
华为哪款手机玩游戏性能最好
扩音器什么品牌音质最好(哪个品牌的扩音器音质最佳?)
铠侠固态硬盘怎么样(铠侠固态硬盘的表现如何?)
公认最静音的电风扇(国内10大电风扇品牌排行)
光信号闪红灯会自己好吗(路由器闪红灯是怎么回事)
联想k29为什么是神机(联想k29怎么样)
国内冰箱排名前十的品牌(质量最好的10大冰箱品牌)
凯夫拉手机壳怎么样(凯夫拉手机壳的表现如何?)
键盘突然没反应是怎么回事
垃圾处理器有必要买吗(垃圾处理器值得买吗)