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

字符及文本处理之awk:awk常用函数

时间:2015-09-25 14:38:45      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:awk

常用的内置函数

1、split

语法:split(string, array [, fieldsep [, seps ] ])

功能:将string表示的字符串以fieldsep为分隔符进行分隔,并将分隔后的结果保存至array为名的数组中;

      数组下标为从1开始的序列;

[root@xxx ~]# df -h|awk ‘!/^File/ {split($5,USE,"%");print USE[1]}‘
17
0
7
7
[root@xxx ~]# df -h|awk ‘!/^File/{split($5,USE,"%");if(USE[1]>10)print $1,"USE:"USE[1]}‘ 
/dev/sda2 USE:17         #不知道什么场景中才会用到这个,


2、length

语法:length([string])

功能:返回string字符串中字符的个数;

[root@xxx ~]# awk -F: ‘/oo/{print $1,length($1)}‘ /etc/passwd
root 4
lp 2
mail 4
uucp 4
operator 8
postfix 7
[root@xxx ~]# awk -F: ‘/oo/{print $1,length}‘ /etc/passwd    
root 36       #这里表示整行的字符个数
lp 40
mail 46
uucp 47
operator 44
postfix 49


3、substr

语法:substr(string, start [, length])

功能:取string字符串中的子串,从start开始,取length个;start从1开始计数;

[root@xxx ~]# awk -F: ‘/oo/{print substr($1,1,3)}‘ /etc/passwd  #第1个和第三个字符怎么取?
roo
lp
mai
uuc
ope
pos


4

tolower(s)

功能:将s中的所有字母转为小写

toupper(s)

功能:将s中的所有字母转为大写

[root@xxx ~]# awk -F: ‘/oo/{print tolower($1)}‘ /etc/passwd             
root
lp
mail
uucp
operator
postfix

[root@xxx ~]# awk -F: ‘/oo/{print toupper($1)}‘ /etc/passwd
ROOT
LP
MAIL
UUCP
OPERATOR
POSTFIX
[root@xxx ~]#
5、
sub
gsub

字符及文本处理之awk:awk常用函数

标签:awk

原文地址:http://xiexiaojun.blog.51cto.com/2305291/1698150

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