awk

提供了许多强大的字符串函数,见下表:

awk

内置字符串函数

gsub(r,s)

在整个

$0

中用

s

替代

r

gsub(r,s,t)

在整个

t

中用

s

替代

r

index(s,t)

返回

s

中字符串

t

的第一位置

length(s)

返回

s

长度

match(s,r)

测试

s

是否包含匹配

r

的字符串

split(s,a,fs)

fs

上将

s

分成序列

a

sprint(fmt,exp)

返回经

fmt

格式化后的

exp

sub(r,s)

$0

中最左边最长的子串代替

s

substr(s,p)

返回字符串

s

中从

p

开始的后缀部分

substr(s,p,n)

返回字符串

s

中从

p

开始长度为

n

的后缀部分

详细说明一下各个函数的使

用方法。

gsub

函数有点类似于

sed

查找和替换。它允许替换一个字符串或字符为另一个字符串或字

符,并以正则表达式的形式执行。第一个函数作用于记录

$0

,第二

gsub

函数允许指定

目标,然而,如果未指定目标,缺省为

$0

index(s,t)

函数返回目标字符串

s

中查询字符串

t

的首位置。

length

函数返回字符串

s

字符

长度。

match

函数测试字符串

s

是否包含一个正则表达式

r

定义的匹配。

split

使用域分隔

fs

字符串

s

划分为指定序列

a

sprint

函数类似于

printf

函数

(

以后涉及

)

返回基本输出格式

fmt

结果字符串

exp

sub(r,s)

函数将用

s

替代

$0

中最左边最长的子串,该子串被

(r)

匹配。

sub(s,p)

返回字符串

s

在位置

p

后的后缀。

substr(s,p,n)

同上,并指定子串长度为

n

现在看一看

awk

中这些字符串函数的功能。

1.gsub

要在整个记录中替换一个字符串为另一个,使用正则表达式格式,

/

目标模式

/

,替换模式

/

。例如改变学生序号

4842

4899

$ awk 'gsub('4842/, 4899) {print $0}' grade.txt

J.Troll 07/99 4899 Brown-3 12 26 26

echo "i am hifdafafdst"|awk '{gsub(/am/,"abcc",$0);print $0}'

i abcc hifdafafdst

2.index

查询字符串

s

t

出现的第一位置。必须用双引号将字符串括起来。例如返回目标字符串

Bunny

ny

出现的第一位置,即字符个数。

$ awk 'BEGIN {print index("Bunny", "ny")} grade.txt

4

3.length

awk 字符串函数的更多相关文章

  1. awk字符串函数及其意义

     awk字符串函数及其意义 awk提供了强大的内置字符串函数,用于实现文本的字符串替换.查找以及分隔等功能. awk字符串函数主要有:gsub.index.length.match.split.sub ...

  2. awk内置字符串函数 awk 格式化输出

    i249 ~ # ps -efl|head -1|awk '$2~/S/{print $2}'Si249 ~ # ps -efl|awk '$2~/S/{print $2}'SSSS printf - ...

  3. awk 字符串处理函数

    awk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s)    在整个$0中用s替代rgsub(r,s,t)    在整个t中用s替代rindex(s,t)    返回s中字符 ...

  4. shell编程系列19--文本处理三剑客之awk中的字符串函数

    shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...

  5. awk 条件及循环语句和字符串函数

    条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动作3 循环语句: while循环: while(条件表达式) 动作 do while循环: do 动作 whil ...

  6. awk字符串处理

    awk 字符串处理函数 awk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s)    在整个$0中用s替代rgsub(r,s,t)    在整个t中用s替代rindex(s, ...

  7. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  8. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  9. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

随机推荐

  1. eclipse 内存配置

    -server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:+UseG1GC

  2. XML的基本用法(转)

    一.概述 XML全称为可扩展的标记语言.主要用于描述数据和用作配置文件. XML文档在逻辑上主要由一下5个部分组成: XML声明:指明所用XML的版本.文档的编码.文档的独立性信息 文档类型声明:指出 ...

  3. maven nexus myeclipse 学习

    http://b-l-east.iteye.com/blog/1246482 这篇文章比较详细的介绍了 nexus 本地仓库以及与maven的配合使用 http://blog.csdn.net/arv ...

  4. [转] 查看HDFS文件系统数据的三种方法

    1.使用插件——Hadoop-Eclipse-Plugin此方法需要借助Eclipse,插件的安装及使用请参考博文使用Eclipse编译运行MapReduce程序_Hadoop2.6.0_Ubuntu ...

  5. NGINX不允许向静态文件提交POST方式的请求,否则报405错误(apache中没有出现)

    telnet *.*.*.* 80POST /map/navigation/2011winter/jsn/jsn_20120723_pack/pvf.jsnHTTP/1.1Host:*.*.*.* ( ...

  6. Unity3D引擎之渲染技术系列一

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者.国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...

  7. hasOwnProperty()与in操作符的区别

    hasOwnProperty()  判断属性是否是实例化(不包括原型)的属性, 存在会返回true; 否则, 返回false in  无论属性是存在实例本身中, 还是原型对象中, 存在会返回true; ...

  8. python 学习2 测试报告

    1. py.test test_class.py  --resultlog=./log.txt 2.生成html格式 py.test test_class.py --html=./report.htm ...

  9. unity视频教程

      英雄联盟教程     http://pan.baidu.com/s/1i3rkMS9 密码:bv6r https://pan.baidu.com/share/link?shareid=258985 ...

  10. PHP-Manual的学习----【语言参考】----【类型】-----【Resource 资源类型】

    2017年8月24日11:29:361.资源 resource 是一种特殊变量,保存了到外部资源的一个引用.资源是通过专门的函数来建立和使用的.2.由于资源类型变量保存有为打开文件.数据库连接.图形画 ...