首页 > 其他 > 详细

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

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

常用的内置函数

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常用函数

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

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