linux下awk命令的基本结构是什么,用法是怎样
Admin 2022-05-19 群英技术资讯 684 次浏览
这篇文章主要介绍“linux下awk命令的基本结构是什么,用法是怎样”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux下awk命令的基本结构是什么,用法是怎样”文章能帮助大家解决问题。awk基本结构如下:
awk [选项] 'pattern1 {action1} patten2 {action2} ……' filename
单引号是为了和shell命令区分开来。
大括号表示一个命令分组。可以是一个动作,或多个动作,如果是多个动作,则动作之间需要加上;或输入enter键
pattern是模式,表示匹配到的行才进行action。模式可以是正则,或算术表达式等
pattern和action可以只有其一,但不能两者都没有
awk常用的选项如下:
-F:指定分割符,分割符可以是字符也可以是一个正则表达式
-v val=value,定义一个变量并赋值
下面,我来通过一个应用来讲解awk命令的使用。下面是一个文本文件的部分内容
# head city.txt 北京 BEIJING BJ 上海 SHANGHAI SH 天津 TIANJIN TJ 重庆 CHONGQING ZQ 阿克苏 AKESU AKS ……
现在的需求是,获取每个城市的全拼,然后转换为小写形式再连接上hellowx.com。其他的信息全部给过滤掉。
# awk 'NR%2==0{next}{print}' city.txt | head -n 10
北京 BEIJING BJ
上海 SHANGHAI SH
天津 TIANJIN TJ
重庆 CHONGQING ZQ
阿克苏 AKESU AKS
安宁 ANNING AN
安庆 ANQING AQ
鞍山 ANSHAN AS
安顺 ANSHUN AS
安阳 ANYANG AY我们注意到,偶数行都是空白行。所以只要过滤偶数行就行了。这样过滤掉了空白行。注意上面的NR表示当前行号,意思是偶数行全部过滤掉。next表示忽略当前行。
接下就需要过滤第一和第三字段。
# awk 'NR%2==0{next}{print $2}' city.txt | head -n 10
BEIJING
SHANGHAI
TIANJIN
CHONGQING
AKESU
ANNING
ANQING
ANSHAN
ANSHUN
ANYANG上面的$2表示第二个字段,结合print表示只打印第二个字段。最后就是转换和连接的工作了,就需要使用tr命令了。
# awk 'NR%2==0{next}{print $2}' city.txt | head -n 10 | tr [A-Z] [a-z] | awk '{print $1"hellowx.com"}'
beijinghellowx.com
shanghaihellowx.com
tianjinhellowx.com
chongqinghellowx.com
akesuhellowx.com
anninghellowx.com
anqinghellowx.com
anshanhellowx.com
anshunhellowx.com
anyanghellowx.comtr命令是用来作转换的,将全部大写转换我小写,然后再用awk来连接上后面的字符串。
对上面涉及的几个命令,如果不是太熟悉可能不是那么容易理解。建议,可以一步一步的来。熟悉了第一步而,然后再去理解第二部。
最后,希望大家可以认真去学习下这个命令,如果掌握了awk,就可以做出很多有意思的事情哦!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux find命令实现模糊查询的方法:根据文件名模糊查询,查找opt目录下后缀为【.log】的文件,代码为【find /opt/ -type f -name "*.log"】。
在linux中,ls命令显示的蓝色表示“目录”。ls命令会根据文件的具体类型给文件名配色:1、白色表示普通文件;2、亮绿色表示可执行文件;3、亮红色表示压缩文件;4、蓝色表示目录;5、亮蓝色表示链接文件;6、亮黄色表示设备文件。
linux内核和linux系统的区别:1、linux操作系统是包含linux内核的,是将linux内核进行扩展,而linux内核只提供了硬件抽象层、硬盘以及文件系统控制的核心程序;2、linux系统会在内核的基础上加入了用户界面和各种软件的支持,而linux内核则没有用户界面和软件的支持。
1 useradd 命令:添加用户Linux 中使用 useradd 命令添加一个用户。这个命令很简单,简单到只使用 useradd USERNAME 就可以添加一个
首先考虑一个问题,计算机网络为什么要采用分层结构,这样做的好处是什么。网络采用分层结构是因为计算机想要相互通信是一件非常麻烦的事情,需要考虑的事情有很多,采用分层结构时为了将一个大的复杂的问题,分割成若干个小的局部问题,然后研究局部问题就比较简单容易些了。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008