Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux之awk使用技巧

linux之awk使用技巧

原创
作者头像
入门笔记
发布于 2022-05-20 13:30:10
发布于 2022-05-20 13:30:10
6920
举报
文章被收录于专栏:入门小站入门小站

打印文件的第一列

代码语言:txt
AI代码解释
复制
> awk '{print $1}' rumenz.txt

打印文件的前两列

代码语言:txt
AI代码解释
复制
> awk '{print $1,$2}' rumenz.txt

打印文件的最后一列

代码语言:txt
AI代码解释
复制
> awk '{print $NF}' rumenz.txt

打印文件的总行数

代码语言:txt
AI代码解释
复制
> awk 'END{print NR}' rumenz.txt

打印文件的第一行

代码语言:txt
AI代码解释
复制
> awk 'NR==1{print}' rumenz.txt
  • NR是指awk正在处理的记录位于文件中的位置(行号)

打印文件的第3行第2列

代码语言:txt
AI代码解释
复制
> sed -n '3,1p' rumenz.txt | awk '{print $2}'

删除空行

代码语言:txt
AI代码解释
复制
> awk 'NF' rumenz.txt

打印奇数行

代码语言:txt
AI代码解释
复制
> awk 'b=!b' rumenz.txt

打印文件按#分割后,行长度为3的所有行

代码语言:txt
AI代码解释
复制
> awk -F '#' 'if(NF==3){print}' rumenz.txt
  • NF是指awk正在处理的记录包含几个域(字段),这与域分隔符有关,默认为空

统计Linux系统中每个用户所用的shell

代码语言:txt
AI代码解释
复制
> cat /etc/passwd | awk -F ":" '{print $1" : "$7}'

用awk统计linux系统中所有的用户数

代码语言:txt
AI代码解释
复制
> cat /etc/passwd | awk '{count++}END{ print count}'

统计某个文件夹下文件所占的字节数

代码语言:txt
AI代码解释
复制
> ls -l | awk 'BEGIN{size=0}{size=size+$5}END{print size}'

统计某个文件夹下文件所占的字节数,按M显示

代码语言:txt
AI代码解释
复制
> ls -l | awk 'BEGIN{size=0}{size=size+$5}END{print size}'

netstat结合awk统计TCP连接数

代码语言:txt
AI代码解释
复制
> netstat -tunlp | awk '/^tcp/{++a[$6]}END{for(i in a) print i,a[i]}'

过滤空行

代码语言:txt
AI代码解释
复制
> awk '/^[^$]/ {print $0}' rumenz.txt

列运算

代码语言:txt
AI代码解释
复制
> cat 1.txt
1
2
3
求和
代码语言:txt
AI代码解释
复制
> cat 1.txt | awk '{a+=$1}END{print a}'
求平均值
代码语言:txt
AI代码解释
复制
> cat 1.txt | awk '{a+=$1}END{print a/NR}'
求列的最大值
代码语言:txt
AI代码解释
复制
> cat 1.txt | awk 'BEGIN{a=0}{if($1>a) a=$1 fi}END{print a}'

原文链接:https://rumenz.com/rumenbiji/linux-awk-skills.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux之awk使用技巧
打印文件的第一列 > awk '{print $1}' rumenz.txt 打印文件的前两列 > awk '{print $1,$2}' rumenz.txt 打印文件的最后一列 > awk '{print $NF}' rumenz.txt 打印文件的总行数 > awk 'END{print NR}' rumenz.txt 打印文件的第一行 > awk 'NR==1{print}' rumenz.txt NR是指awk正在处理的记录位于文件中的位置(行号) 打印文件的第3行第2列 > sed -
入门笔记
2022/06/02
6150
Linux三大剑客之awk
版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢
耕耘实录
2018/12/20
1.1K0
Linux系统命令三剑客命令实战操作(文未有福利)
grep '[A-Z][a-z]\{4\}\:[[:space:]][A-Z]' testfile
民工哥
2020/09/16
1.2K0
快速理解linux文本分析利器awk
awk是什么 如果工作中需要操作linux比较多,那么awk是非常值得学习的 awk是一个极其强大的文本分析工具,把文件逐行的读入,以指定分隔符将每行切片,切开的部分再进行各种分析处理 可以使用awk创建程序,来读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有很多其他的功能 awk使用示例 通过一些简单的示例来认识一下awk (1)$ ll | awk '{print $9}' 这个命令的结果是只显示文件名列表 工作过程 awk命令接收 ll 结果信息,并逐行处理 对每一
dys
2018/04/03
1.2K0
awk练习题
awk -F : '{for(i=3;i<=5;i++)printf"%s ",$i;printf"\n"}' /etc/passwd
张琳兮
2019/03/14
1.8K0
linux awk命令详解
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。 awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己
千往
2018/01/24
3K0
Linux awk命令详细教程
AI摘要:本文详细介绍了Linux下的文本处理工具awk的使用方法,包括其语法、选项参数、内置变量、常用操作(如打印、条件判断、循环等)以及一些实用的示例。awk通过将文本按行读取并以指定的分隔符分割成多个字段,使得对文本的处理变得灵活高效。文章还提供了如何打印指定列、过滤日志、按条件统计、指定多个分隔符、日志切割、匹配指定列和统计文件大小等实际应用示例,以及一个统计nginx日志数据的awk脚本示例。通过这些内容,读者可以全面掌握awk命令的强大功能,有效地应用于日志分析、数据处理等场景。
曈曈too
2024/03/16
5490
每天一个 Linux 命令(4):awk
Awk pattern scanning and processing language,对文本和数据进行处理。
民工哥
2020/12/28
8510
Linux--awk命令
awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。
yaohong
2019/09/11
6.7K0
Linux--awk命令
一天一个 Linux 命令(21):awk 命令
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/151
joshua317
2021/10/09
2.2K0
shell脚本快速入门之-----正则三剑客之三awk用法大全!!!
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义 函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方 式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标 准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展。
不吃小白菜
2020/09/03
1.1K0
linux实战(一)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q383965374/article/details/50394765
拓荒者
2019/06/15
2.7K0
Linux Shell工具篇 - 文本分析工具awk
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理,切开的部分使用awk可以定义变量、运算符,使用流程控制语句进行深度加工与分析。
兜兜转转
2023/03/29
1.9K0
Linux Shell工具篇 - 文本分析工具awk
Linux 三剑客之awk
目录 Linux 三剑客之awk 简介 应用场景 awk执行流程图 awk生命周期 awk内置(预定义)变量 行与列描述 取行 取列 awk中的函数 条件的分类 awk正则详细: 普通正则和awk正则区别 范围表达式 逻辑表达式 算术表达式 特殊模式BEGIN{}和END{} awk数组 awk 的 判断、循环 if循环 循环 总体练习 易错点: Linux 三剑客之awk 简介 awk主要是用来格式化文本,也有人称awk是一种语言,类似 C,awk 是三剑客的老大,利剑出鞘,必会不同凡响。 应
HammerZe
2022/03/25
7450
Linux 三剑客之awk
【Linux运维面试题】三剑客笔试题集合
1.在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(多选)(AC)
kubernetes中文社区
2020/06/03
3K0
Linux基础Day03
uniq 命令用于检查及删除文本文件中重复出现的行,一般与 sort 命令结合使用。
Maynor
2021/04/09
6280
linux基础命令介绍八:文本分析 awk
awk的工作过程是这样的:按行读取输入(标准输入或文件),对于符合模式pattern的行,执行action。当pattern省略时表示匹配任何字符串;当action省略时表示执行'{print}';它们不可以同时省略。 每一行输入,对awk来说都是一条记录(record),awk使用$0来引用当前记录:
用户5030870
2019/04/10
1.5K0
详细grep、sed、awk
[root@VM_0_7_centos tmp]# cat 1.txt 1 2 3 4 5 6 [root@VM_0_7_centos tmp]# cat 2.txt 4 5 6 7 8 [root@VM_0_7_centos tmp]# grep -f 1.txt 2.txt 4 5 6 [root@VM_0_7_centos tmp]# grep -f -v 1.txt 2.txt grep: -v: No such file or directory [root@VM_0_7_centos
用户1173509
2018/03/28
1.7K0
详细grep、sed、awk
Linux|了解如何使用 awk 内置变量
当我们揭开 Awk 功能部分时,我们将介绍 Awk 中内置变量的概念。您可以在 Awk 中使用两种类型的变量:用户定义的变量和内置变量。
数据科学工厂
2024/05/17
3060
Linux|了解如何使用 awk 内置变量
Linux的文本处理工具浅谈-awk sed grep
日志样子举例如下: http://youku.com 200 http://youku.com 302 http://youku.com 403 http://youku.com 502 http://baidu.com 302 http://baidu.com 404 现想使用awk命令按域名统计 返回码大于等于400的百分比,假如优酷总共有4行,大于等于400的返回码有两行,那占比就为50%
sunsky
2020/08/20
3.7K0
相关推荐
linux之awk使用技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档