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. acd - 1403 - Graph Game(博弈 + 二分图最大匹配)

    题意:N与P在玩游戏,N有 n1 个点,P有 n2 个点,N的点与P的点之间有 m 条无向边.将一个石子放在当中一点.N先移动石子.沿边移动一次,石子移动前的点及与该点相连的边被删除.接着到P移动石子 ...

  2. Git简明操作

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  3. MySQL 系列教程(二) 你不知道的数据库操作

    本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件. ...

  4. react-native fetch 请求封装

    1.fetch 函数封装 fetch.js /** * 请求头 * @type {{Accept: string, Content-Type: string}} */ const header = { ...

  5. 中小企业 DevOps 从 0 到 1

    原文:http://www.sohu.com/a/145065274_262549 今天主要有四个课题: 先聊一聊 DevOps: 然后跟大家聊一聊运维知识的体系和职业发展: 再是中小企业基于开源的 ...

  6. vs无法引用项目问题

    vs无法引用项目问题 2017年12月13日 14:45:31 阅读数:582 开发时编译报错--项目A未被引用,展开项目的引用,发现该项目实质已经被引用了,但是该引用上有个黄色三角感叹号,遂移除该引 ...

  7. Memcached的LRU和缓存命中率

    缓存命中率 命中:直接从缓存中读取到想要的数据. 未中:缓存中没有想要的数据,还需要到数据库进行一次查询才能读取到想要的数据. 命中率越高,数据库查询的次数就越少. 读取缓存的速度远比数据库查询的速度 ...

  8. Gmail收不到邮件咋办?

    http://www.ipip.net/ping.php 分别输入 imap.gmail.com pop.gmail.com smtp.gmail.com 选择  国外 , 然后点ping,找到对应的 ...

  9. 产生n个数全排列的算法

    给定n个数{1...n},如何给出这n个数的全排列呢? 给定一个整数k,我们给它一个向左或向右的方向,k(->)或者k(<-),我们说k是可以移动的,如果它的方向指向一个相邻的比它小的数, ...

  10. php 如何获取一个json文件

    function showupversion(){ #获取平台类型 $type='android'; #读取文件的路径 $url="D:/WWW/gm_lequ/gm_lequ"; ...