awk字符串处理
来源:互联网 发布:手机测噪声软件 编辑:程序博客网 时间:2024/09/21 09:06
1.gsub
gsub(r,s,t) 在整个t中用s替代r
gsub(r,s) 在整个$0中用s替代r。t缺省为$0
要在整个记录中替换一个字符串为另一个,使用正则表达式格式, /目标模式/,替换模式。例如改变学生序号4842到4899:
# awk 'gsub(/4842/,4899){print $0}' grade.txt
2. index
index(s,t):函数返回目标字符串s中查询字符串t的首位置。必须用双引号将字符串括起来。
# awk 'BEGIN {print index("Bunny","ny")}' grade.txt
3. length
length(s) :返回s长度
4. match
match(s,r): 测试s是否包含匹配r的字符串
可以对查找部分使用正则表达式,返回值为成功出现的字符排列数。如果未找到,返回0,
5. split
split(s,a,fs) 以fs非分隔符,将s分成序列a
工作方式如下:如果有一字符串,包含一指定分隔符-,例如AD2-KP9-JU2-LP-1,将之划分成一个数组。使用split,指定分隔符及数组名。此例中,命令格式为("AD2-KP9-JU2-LP-1",parts_array,"-"),split然后返回数组下标数,这里结果为4。
6. sub
sub(r,s,n)在n中最左边最长的子串s代替r,n缺省为$0
使用sub发现并替换模式的第一次出现位置。可以使用正则表达式。字符串STR包含'poped popo pill',执行下列sub命令sub(/op/,"OP",STR)。模式op第一次出现时,进行替换操作,返回结果如下:'pOPed pope pill'。
7. substr
substr(s,p) 返回字符串s中从p开始的部分
substr(s,p,n) 返回字符串s中从p开始长度为n的部分。
substr是一个很有用的函数。它按照起始位置及长度返回字符串的一部分。例子如下:
8. 从shell中向awk传入字符串
使用管道将字符串传入awk
# STR="mydoc.txt"
# echo $STR|awk '{print substr($STR,1,5)}'
mydoc
9.特殊字符串
如果使用正则表达式,查询花括号({ }),在字符前加反斜线,如/\{/,将在awk中失掉其特殊含义。
awk中使用的特殊字符串
\b 退格键
\t tab键
\f 走纸换页
\ddd 八进制值
\n 新行
\c 任意其他特殊字符,例如\ \为反斜线符号
\r 回车键
10.sprint
sprint (fmt,exp) :函数类似于printf函数(以后涉及),返回基本输出格式fmt的结果字符串exp。
目前为止,所有例子的输出都是直接到屏幕,除了tab键以外没有任何格式。awk提供函数printf,拥有几种不同的格式化输出功能。例如按列输出、左对齐或右对齐方式。
每一种printf函数(格式控制字符)都以一个%符号开始,以一个决定转换的字符结束.转换包含三种修饰符。
printf函数基本语法是printf([格式控制符],参数),格式控制字符通常在引号里。
printf修饰符
- 左对齐
Width 域的步长,用0表示0步长
.prec 最大字符串长度,或小数点右边的位数
awk printf格式
%c ASCII字符
%d 整数
%e 浮点数,科学记数法
%f 浮点数,例如(1 2 3 . 4 4)
%g awk决定使用哪种浮点数转换e或者f
%o 八进制数
%s 字符串
%x 十六进制数
字符转换
格式化输出修改自:http://czmmiao.iteye.com/blog/1885280
0 0
- awk处理字符串
- awk字符串处理
- awk常用字符串处理函数
- awk 字符串与算数处理
- awk 处理
- linux下字符串处理工具二:awk(1)
- linux下字符串处理工具二:awk( 二),awk脚本
- awk 字符串函数
- awk脚本字符串连接
- awk字符串比较问题
- awk 字符串拼接
- awk内置字符串函数
- awk字符串函数
- awk 截取字符串
- awk字符串截取
- awk内置字符串函数
- awk截取字符串
- awk截取字符串
- 【ODPS】TableTunnel单线程简单下载事例
- 算法思想篇(8)————模拟算法
- 黑马程序员—-C语言入门十重奏之七相离
- 高并发系统中的常见问题
- vc++实现http下载的通用类
- awk字符串处理
- C++ priority_queue的使用方法
- poj 1384 Piggy-Bank 多重背包问题
- [dp] hdu 5389 多校联合第八场 Zero Escape
- Spring AOP与AspectJ 面向切面编程配置与注解
- NYOJ 1071 不可以!
- monkey 命令详解
- 几何画板中对象标签的问题如何解决
- Objective-C 苹果开发文档 03 Working with Objects