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

awk字符串函数(一)

时间:2015-05-11 09:01:54      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:awk   index函数   length函数   sub函数   gsub函数   

sub和gsub函数 sub函数用于在记录中查找能够匹配正则表达式的最长且最靠左的子串,然后用替换串取代找到的子串。如果指定了目标串,就在目标串中查找能够匹配正则表达式的最长且最靠左的子串,并将找到的子串替换为替换串。若未指定目标串,则在整个记录中查找。
sub函数格式

sub(正则表达式,替换串);
sub(正则表达式,替换串,目标串);

范例

$ awk ‘{sub(/Mac/,"MacIntosh");print}‘ filename;
$ awk ‘{sub(/Mac/,"MacIntosh",$1);print}‘ filename

说明:
1.在记录($0)中第一次匹配到正则表达式Mac时, Mac被替换为字符串MacIntosh。sub函数只对每行中出现的第一个匹配字符串进行替换(请参见用于替换多次匹配的gsub函数)。
2. 在记录的第1个字段($1)中第一次匹配到正则表达式Mac时,Mac被替换为字符串MacIntosh。sub函数只对目标串中出现的第一个匹配字符串进行替换。gsub函数则对字符串中的正则表达式进行全局替换,即替换所有在记录($0)中出现的正则表达式。
gsub函数格式

gsub(正则表达式,替换串);
gsub(正则表达式,替换串,目标串);

范例

$ awk ‘{gsub(/CA/,"California");print}‘ filename
$ awk ‘{gsub(/[Tt]om/,"Thomas",$1);print}‘ filename

说明:
1.记录($0)中找到的每个正则表达式CA都被替换为California。
2.在第一个字段中找到的每个正则表达式Tom或tom都被替换为Thomas。


index函数 index函数返回子串在字符串中第一次出现的位置。偏移量从位置1开始计算。
格式

index(字符串,子串)

范例

$ awk ‘{print index("hollow","low")}‘ filename
4

说明:返回的数字是子串low在字符串hollow中第一次出现的位置,偏移量从1开始计算。


length函数 length函数返回字符串中字符的个数。如果未指定参数,则length函数返回记录中的字符个数。
格式

length(字符串)
length

范例

$ awk ‘{print length("hello")}‘ filename
5

length函数返回字符串hello的字符个数。

参考资料:http://www.linuxawk.com/jiaocheng/298.html

awk字符串函数(一)

标签:awk   index函数   length函数   sub函数   gsub函数   

原文地址:http://blog.csdn.net/xiyangyang052/article/details/45626369

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