awk 引用外部变量
aa="abcAbc"
echo | awk -v var=$aa '{print var}'
awk 常用的函数
mystring="How are you ding today"
length()返回字符串的长度
print length(mystring)
//print 22
index() 将返回子字符串在另一个字符串的位置,如果没有找到则返回0
print index(mystring,"you")
//print 9
tolower() 返回字符串并将所有的字符转化为小写字符
toupper() 返回字符串并将所有的字符转化为大写字符
print tolower(mystring)
substr(mystring,startpos,maxlen)截取字符串
mystring 要进行截取的字符串
startpos 开始的位置
maxlen 截取的长度
print substr(mystring,9,3)
//you
match() 返回匹配的起始位置,如果没有找到则返回0
同时match()还将设置两个变量
RSTART(包含返回第一个匹配位置的值)
RLENGTH(指定他占据的字符串跨度,如果没有匹配则返回-1)
print(mystring,/you/),RSTART,RLENGTH
//print 9 9 3
sub() 字符串替换
如果匹配到了 切修改完毕 返回值为整数 否则返回值为0
gsub() 修改原始字符串
sub("/are/","ARE",mystring)
print mystring
//How ARE you ding today
mystring="How are you doing today?"
gsub(/o/,"O",mystring)
print mystring
split() 函数对字符串进行分割 并将各部分放到整数下标的数组中 返回值是数组元素的个数
arraynums=split("a,b,c,d,e,f,g",array,",")
print arraynums
//7
print array[2]
//b
注意 awk里面数组的下标是从1开始的
system() 可以调用系统命令
如 system("data")
//Tue Nov 10 23:14:52 CST 2009
aa="abcAbc"
echo | awk -v var=$aa '{print var}'
awk 常用的函数
mystring="How are you ding today"
length()返回字符串的长度
print length(mystring)
index() 将返回子字符串在另一个字符串的位置,如果没有找到则返回0
print index(mystring,"you")
tolower() 返回字符串并将所有的字符转化为小写字符
toupper() 返回字符串并将所有的字符转化为大写字符
print tolower(mystring)
substr(mystring,startpos,maxlen)截取字符串
mystring 要进行截取的字符串
startpos 开始的位置
maxlen 截取的长度
print substr(mystring,9,3)
match() 返回匹配的起始位置,如果没有找到则返回0
print(mystring,/you/),RSTART,RLENGTH
//print 9 9 3
sub() 字符串替换
gsub() 修改原始字符串
sub("/are/","ARE",mystring)
print mystring
mystring="How are you doing today?"
gsub(/o/,"O",mystring)
print mystring
split() 函数对字符串进行分割 并将各部分放到整数下标的数组中 返回值是数组元素的个数
arraynums=split("a,b,c,d,e,f,g",array,",")
print arraynums
print array[2]
system() 可以调用系统命令
如 system("data")