共计 1098 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章主要为大家展示了“linux 中的 awk 怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“linux 中的 awk 怎么用”这篇文章吧。
awk 内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk 浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行 - F 选项
NF 浏览记录的域的个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
$0 变量是指整条记录。$1 表示当前行的第一个域,$2 表示当前行的第二个域,...... 以此类推。$NF 是 number finally, 表示最后一列的信息,跟变量 NF 是有区别的,变量 NF 统计的是每行列的总数
常用的命令展示
awk 擅长列输出
搜索 /etc/passwd 有 root 关键字的所有行
awk /root/ /etc/passwd
【这种是 pattern 的使用,匹配了 pattern(这里是 root) 的行才会执行 action(没有指定 action,默认输出每行的内容)】
搜索 /etc/passwd 有 root 关键字的所有行,并显示对应的
shell
awk -F: /root/ {print $7} /etc/passwd
统计 /etc/passwd: 文件名,每行的行号,每行的列数,对应的完整行内容:
awk -F : {print filename: FILENAME ,linenumber: NR ,columns: NF ,linecontent: $0} /etc/passwd
使用 printf 替代 print, 可以让代码更加简洁,易读
awk -F: {printf ( filename:%10s, linenumber:%3s,column:%3s,content:%3f\n ,FILENAME,NR,NF,$0)} /etc/passwd
打印 /etc/passwd/ 的第二行信息
awk -F: NR==2{print filename: FILENAME, $0} /etc/passwd
awk 的过滤使用方法
ls -lF | awk /^d/
指定特定的分隔符,查询第一列
awk -F : {print $1} /etc/passwd
以上是“linux 中的 awk 怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!
正文完