码迷,mamicode.com
首页 > 其他好文 > 详细

awk命令

时间:2018-09-11 14:09:47      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:inux   模式   例子   使用   mysq   int   df -h   span   换行   

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 "\t" $6 "\n"}‘ student.txt 

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

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

# \t表示一个tab,\n表示换行

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

Name  Average
xiaoming  87.66
xiaohong  85.66
xiaoli   91.66

 

awk命令

标签:inux   模式   例子   使用   mysq   int   df -h   span   换行   

原文地址:https://www.cnblogs.com/learnwhileucan/p/9626818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!