Linux-shell-AWK
2021/9/10 7:03:51
本文主要是介绍Linux-shell-AWK,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
awk处理过程: 依次对每一行进行处理的结果
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file [-F|-f|-v] :-F指定分隔符,-f调用脚本,-v定义变量 var=value BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符 // 匹配代码块,可以是字符串或正则表达式 END 结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息 特殊含义: OFS ----输出字段分隔符, 默认也是空格 $0----表示整行所有数据 $1---- 每行第一个字段(列) NF---- 字段数量(分隔后的列数);$NF最后一列 '{print $NF}' 打印最后一列 NR---- 行号;NR==1代表第一行 'NR==1{print $2}' 打印第一行第二列 ~ 匹配字符 !~ 不匹配字符 == 等于 != 不等于 && 逻辑与 || 逻辑或 + 匹配时表示1个或1个以上 1、awk -F: '{print $1,$3,$6}' OFS="|" /etc/passwd 将/etc/passwd的第一、三、六列内容打印出来,并且以“|”分割2、awk '{print}' /etc/passwd == awk '{print $0}' /etc/passwd
加不加$0,都是打印整行内容
3、[root@k8s-master ~]# awk '{print "a"}' /etc/passwd >>ren
passwd有多少行,就会往ren里面写多少行a;每行都是一个a 4、[root@k8s-master ~]# awk -F: 'NR==1{print $1; print $2}' /etc/passwd 将第一行的以:分割后的字符串,第一个字段、第二个字段分两行显示
5、awk -F":" '(NR==1){print $1" "$3}' /etc/passwd 等价于 awk -F":" '(NR==1){print $1,$3}' /etc/passwd 每个字段中间会有空格
6、每个字符间没有空格,直接相连
[root@k8s-master ~]# awk -F":" '(NR==1){print $1 $3}' /etc/passwd
[root@k8s-master ~]# awk -F":" '(NR==1){print $1$3}' /etc/passwd
[root@k8s-master ~]# awk -F":" '(NR==1){print $1""$3}' /etc/passwd
这篇关于Linux-shell-AWK的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法