awk命令

Posted learnwhileucan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk命令相关的知识,希望对你有一定的参考价值。

1、应对一般的字符串截取,cut命令也可以完成,但是cut有很大局限性,无法识别多个空格

cut命令的一般格式:cut -d " " -f 5   (以空格为分隔符,截取第五个字符)

举个例子:

df -h | cut -d " " -f 5 

这个输出的结果会为空,因为df -h 由于他本身的格式,会出现多个空格,cut会认为每一个空格都是一个分隔符,这个截取到的第五个字符也是众多空格当中的一个

 

在这种情况下,就需要使用更加复杂的awk命令

 

awk命令

awk的读取数据形式是按行读取,但是按列处理

一般语法: awk ‘条件1{动作1}条件2{动作2} ...‘ 文件名

例子:

student.txt文件

ID  Name  php  Linux  mysql  Average

1  xiaoming  82  95   86    87.66

2  xiaohong  74  96   87    85.66

3  xiaoli    99  83    93    91.66

awk ‘{printf $2 "	" $6 "
"}‘ student.txt 

# 注意printf前面有大括号,代表printf是动作1,动作1前面没有条件1,代表这个动作对整个文件执行

# $2表示第二列,$6表示第六列,所以awk的工作模式是先读取第一行,截取第二列 (Name),和第六列(Average),如果是$0,则截取整个第一行

# 	表示一个tab,
表示换行

#综上,这个命令的意思是截取整个文件第二列,打个tab,再截取第六列,然后换行,所以结果哟为:

Name  Average
xiaoming  87.66
xiaohong  85.66
xiaoli   91.66

 






以上是关于awk命令的主要内容,如果未能解决你的问题,请参考以下文章

awk命令提取某行的最后一个数值

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段——cli的终端命令大全

最佳 awk 命令

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程