首页 > 其他 > 详细

awk命令

时间:2018-09-11 13:18:05      阅读:142      评论:0      收藏:0      [点我收藏+]

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命令

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!