熟练掌握 linux 中 awk 命令可以给我们带来很多便利,awk 具有处理海量数据文本文件的强大功能,并拥有很强的文本格式处理功能,具体有哪些妙用呢?我们可以一起来看看吧。
首先,我们先来介绍 awk 命令的基本语法结构:
1. awk ‘模式 {动作}’ 输入文件
其中,模式用于指定特定的内容,动作则定义了当匹配到特定的模式时,要执行的命令,输入文件则指定了需要处理的文档,可以是文件或目录,也可以是管道程序输出的文本,具体用法如下:
//例如,想要按行打印所有四位数
$ awk ‘/^[0-9][0-9][0-9][0-9]$/ {print $0}’ filename
我们可以利用 awk 命令将文本的每一行的字段提取出来,例如:
//读取文件中的某一行
$ awk ‘NR==4 {print}’ filename
//提取某一行的前几个字段
$ awk ‘BEGIN {FS=” “; OFS=” “} {print $1, $2}’ filename
//计算某字段的总和
$ awk ‘{sum+=$1} END {print sum}’ filename
//根据某字段分类输出
$ awk ‘$1==”foo” {print $0}’ filename
此外,awd 还可以用于文本格式转换,比如我们可以将大量 CSV 格式文本转换为 JSON 格式,再如将每一行作为数组元素进行输出等,详细示例可以参考以下代码:
//CSV 转换为 JSON
$ awk ‘BEGIN {
FS = “,”;
OFS = “, “
print “{“
}
{
if (NR > 1)
{
for (i=1; i
{
printf “\”%s\”: \”%s\””, $i, $(i+1);
if (i
{
printf “%s”, OFS
}
}
printf “}”
}
}’ filename
另外,awd 的另一大特性是可以实现简单的程序分析,我们可以实现一些简单的条件判断和循环判断,也可以利用函数实现更复杂的程序分析,具体用法如下:
//读取文件中的某一行,如果所读行的字段和预设值相同,打印
$ awk ‘NR==4 {
if ($1 == “foo”)
}’ filename
以上就是 awk 命令妙用的简单介绍,awk 命令可以给我们带来很多以Linux 管理工作的便利,希望本文對你有所幫助。
创新互联服务器托管拥有成都T3+级标准机房资源,具备完善的安防设施、三线及BGP网络接入带宽达10T,机柜接入千兆交换机,能够有效保证服务器托管业务安全、可靠、稳定、高效运行;创新互联专注于成都服务器托管租用十余年,得到成都等地区行业客户的一致认可。
当前题目:利用Linux掌握awk命令的妙用(linux命令awk)
本文链接:http://www.mswzjz.cn/qtweb/news9/316959.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能