awk内置函数

原创 2015年11月19日 01:28:14

gsub( Ere, Repl, [ In ] ) 除了正则表达式所有具体值被替代这点,它和 sub 函数完全一样地执行,。
sub( Ere, Repl, [ In ] ) 用 Repl 参数指定的字符串替换 In 参数指定的字符串中的由 Ere 参数指定的扩展正则表达式的第一个具体值。sub 函数返回替换的数量。出现在 Repl 参数指定的字符串中的 &(和符号)由 In 参数指定的与 Ere 参数的指定的扩展正则表达式匹配的字符串替换。如果未指定 In 参数,缺省值是整个记录($0 记录变量)。
index( String1, String2 ) 在由 String1 参数指定的字符串(其中有出现 String2 指定的参数)中,返回位置,从 1 开始编号。如果 String2 参数不在 String1 参数中出现,则返回 0(零)。
length [(String)] 返回 String 参数指定的字符串的长度(字符形式)。如果未给出 String 参数,则返回整个记录的长度($0 记录变量)。
blength [(String)] 返回 String 参数指定的字符串的长度(以字节为单位)。如果未给出 String 参数,则返回整个记录的长度($0 记录变量)。
substr( String, M, [ N ] ) 返回具有 N 参数指定的字符数量子串。子串从 String 参数指定的字符串取得,其字符以 M 参数指定的位置开始。M 参数指定为将 String 参数中的第一个字符作为编号 1。如果未指定 N 参数,则子串的长度将是 M 参数指定的位置到 String 参数的末尾 的长度。
match( String, Ere ) 在 String 参数指定的字符串(Ere 参数指定的扩展正则表达式出现在其中)中返回位置(字符形式),从 1 开始编号,或如果 Ere 参数不出现,则返回 0(零)。RSTART 特殊变量设置为返回值。RLENGTH 特殊变量设置为匹配的字符串的长度,或如果未找到任何匹配,则设置为 -1(负一)。
split( String, A, [Ere] ) 将 String 参数指定的参数分割为数组元素 A[1], A[2], . . ., A[n],并返回 n 变量的值。此分隔可以通过 Ere 参数指定的扩展正则表达式进行,或用当前字段分隔符(FS 特殊变量)来进行(如果没有给出 Ere 参数)。除非上下文指明特定的元素还应具有一个数字值,否则 A 数组中的元素用字符串值来创建。
tolower( String ) 返回 String 参数指定的字符串,字符串中每个大写字符将更改为小写。大写和小写的映射由当前语言环境的 LC_CTYPE 范畴定义。
toupper( String ) 返回 String 参数指定的字符串,字符串中每个小写字符将更改为大写。大写和小写的映射由当前语言环境的 LC_CTYPE 范畴定义。
sprintf(Format, Expr, Expr, . . . ) 根据 Format 参数指定的 printf 子例程格式字符串来格式化 Expr 参数指定的表达式并返回最后生成的字符串。

打开外部文件(close用法)

[chengmo@centos5 ~]$ awk 'BEGIN{while("cat /etc/passwd"|getline){print $0;};close("/etc/passwd");}'
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

 

逐行读取外部文件(getline使用方法)

[chengmo@centos5 ~]$ awk 'BEGIN{while(getline < "/etc/passwd"){print $0;};close("/etc/passwd");}'
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

 

[chengmo@centos5 ~]$ awk 'BEGIN{print "Enter your name:";getline name;print name;}'
Enter your name:
chengmo
chengmo

  

调用外部应用程序(system使用方法)

[chengmo@centos5 ~]$ awk 'BEGIN{b=system("ls -al");print b;}'
total 42092
drwxr-xr-x 14 chengmo chengmo     4096 09-30 17:47 .
drwxr-xr-x 95 root   root       4096 10-08 14:01 ..

 

b返回值,是执行结果。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

awk内置字符串函数详解(转) (2009-06-16 15:25)

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

awk命令的使用(二):内置函数

原文章网址:http://www.cublog.cn/u/26313/showart_1680599.htmlawk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s)在整个$0...

awk内置函数

这节详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数   一、算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名...

awk编程——内置字符串函数

精确匹配: 由于passwd文件以:分隔,下面命令将默认分隔符改为" : "并且打印出/etc/passwd中$3列的值为10的所有行 模糊匹配...

awk内置算术函数

下表列出了awk的内置算术函数,表中的x和y是任意表达式。 算术函数 函数名 返回值 atan2(x,y) 值域内y/x的反正切 cos(x) x的余弦,x为弧度 ...

linux下awk内置函数的使用(split/substr/length)

转自:http://gdcsy.blog.163.com/blog/static/12734360920130241521280/ 一、split 初始化和类型强制        awk的内建函...
  • xlh1991
  • xlh1991
  • 2014年11月26日 09:11
  • 443

linux下awk内置函数(split/substr/length/gsub)

一、split 初始化和类型强制        awk的内建函数split允许你把一个字符串分隔为单词并存储在数组中。你可以自己定义域分隔符或者使用现在FS(域分隔符)的值。 格式:    spl...

linux awk 内置函数详细介绍(实例)

linux awk 内置函数详细介绍(实例) (2012-02-07 09:11) 标签: linux awk内置字符串函数  这节详细介绍awk内置函数,主要分以下3种类似:算数函...

awk内置字符串函数详解

awk提供了许多强大的字符串函数,见下表: awk内置字符串函数   gsub(r,s) 在整个$0中用s替代r gsub(r,s,t) ...
  • dssxk
  • dssxk
  • 2011年09月09日 10:09
  • 276

linux awk 内置函数详细介绍(实例)

这节详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数   一、算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 a...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:awk内置函数
举报原因:
原因补充:

(最多只允许输入30个字)