awk 教程(自己整理的,应该是最全的)

电脑杂谈  发布时间:2019-07-23 18:12:14  来源:网络整理

json 数组长度_awk数组长度_数组长度

注释有两种方式,一个是# ,一个是/*xxxxxx*/

二)、基础结构

分为BEGIN模块 {}中间模块 END结束模块

三)、内部运算符

假如我要判定aaa在整个文件中,这里注意数组是以字典形式存储,什么都可以,不像C++, 查询时候也是查询是否在字典中,而不是字典对应的值

四)、内部函数

1、算术函数查询

返回 y/x 的反正切。

返回 x 的余弦;x 是弧度。

返回 x 的正弦;x 是弧度。

返回 x 幂函数。

返回 x 的自然对数。

返回 x 平方根。

返回 x 的截断至整数的值。

返回任意数字 n,其中 0 <= n < 1。

json 数组长度_数组长度_awk数组长度

srand( [Expr] )

该参数与 g 代码要相对应如下: 工件坐标系 1 (g54) ---工件原点返回偏移值---参数 1221 工件坐标系 2 (g55) ---工件原点返回偏移值---参数 1222 工件坐标系 3 (g56) ---工件原点返回偏移值---参数 1223 工件坐标系 4 (g57) ---工件原点返回偏移值---参数 1224 工件坐标系 5 (g58) ---工件原点返回偏移值---参数 1225 工件坐标系 6 (g59) ---工件原点返回偏移值---参数 1226 在接通电源和完成了原点返回后,系统自动选择工件坐标系 1 (g54) 。srand([expr]):设置随机,一般与rand函数配合使用,如果参数为空,默认使用当前时间为。### grepl函数与grep函数不同的地方在于返回的形式是否为布尔值(是 true 或 false 中的一个),grepl返回ture或者false,而grep函数返回匹配值下标或者匹配值本身,使用什么函数要看我们的需要。

这里说一下,rand()和srand(),只需要在BEGIN里面加上srand(),以后rand()都是随机的,我以为rand()比较浪费时间,其实不浪费,测试了一下awk数组长度,跟调用其他命令相差相比时间基本没有

cat t3|awk 'BEGIN{sum=0;srand()}{rand();sum++}END{print sum}'

2、字符串函数查询:

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 记录变量)。

json 数组长度_awk数组长度_数组长度

substr( String, M, [ N ] )

a.脱字符号(^)用户正则表达式的开始,表示子字符串必须出现在被搜索字符串的开始处 b.字符“$”用于正则表达式的末尾,表示子字符串必须出现在字符串的末尾。13、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。

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 )

与您猜想的一样,这两个函数将返回字符串并且将所有字符分别转换成小写或大写。返回字符串str,根据当前字符集映射(缺省是iso-8859-1 latin1)把所有的字符改变成大写。利用mid函数,返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。

toupper( String )

返回 String 参数指定的字符串,字符串中每个小写字符将更改为大写。大写和小写的映射由当前语言环境的 LC_CTYPE 范畴定义。

sprintf(Format, Expr, Expr, . . . )

根据 Format 参数指定的子例程格式字符串来格式化 Expr 参数指定的表达式并返回最后生成的字符串。

Ere都可以是正则表达式

3、格式化字符串输出查询(sprintf使用)

格式化字符串格式:

json 数组长度_数组长度_awk数组长度

该函数的格式如下:int scanf (“(控制串》”,(参数表))该函数的参数由两部分组成,其中一部分是由双引号括起来被称为控制串,另一部分是参数表,(控制串)中包含格式符和一般字符。式化规定字符, 以"%"开始, 后跟一个或几个规定字符,。非输出字符用十六进制格式显示,其是后跟两个十六进制字符的反斜线。

十进制有符号整数

十进制无符号整数

指数形式的浮点数

%X 无符号以十六进制表示的整数

无符号以八进制表示的整数

自动选择合适的表示法

awk 'BEGIN{n1=124.113;n2=-1.224;n3=1.2345; printf("%.2f,%.2u,%.2g,%X,%o\n",n1,n2,n3,n1,n1);}'

124.11,18446744073709551615,1.2,7C,174

4、一般函数查询:

close( Expression )

用同一个带字符串值的 Expression 参数来关闭由 print 或 printf 语句打开的或调用 getline 函数打开的文件或管道。如果文件或管道成功关闭,则返回 0;其它情况下返回非零值。如果打算写一个文件,并稍后在同一个程序中读取文件,则 close 语句是必需的。

system(Command )

执行 Command 参数指定的命令,并返回退出状态。等同于子例程。

Expression | getline [ Variable ]

awk数组长度_json 数组长度_数组长度

创建或打开文件方法openfile共提供四个参数,第一个参数path用于表示指定创建或打开的路径全名,第二个参数accessfilemode则用于指定创建或打开文件的读写模式,第三个参数openmethod为枚举类型openorcreatemethod的对象,用于表示文件创建或打开的方式。如果约简参数是一个标量,所有的流元素都将调用约简函数来产生一个单独的值,这个值被存放在约简变量中。 对于通过值传递的参数,在调用过程的时候,vbscript 会在过程内部暂时建立一个变 量,并将参数值复制给这个变量,这样就可以把过程外部的数值传递到过程内部中,不过 这个变量只是在过程内部有效的,在脚本中改变变量的值的时候,并不会对参数造成任何 影响,当脚本结束过程调用的时候,这个变量将被删除。

getline [ Variable ] < Expression

从 Expression 参数指定的文件读取输入的下一个记录,并将 Variable 参数指定的变量设置为该记录的值。只要流保留打开且 Expression 参数对同一个字符串求值,则对 getline 函数的每次后续调用读取另一个记录。如果未指定 Variable 参数,则 $0 记录变量和 NF 特殊变量设置为从流读取的记录。

getline [ Variable ]

将 Variable 参数指定的变量设置为从当前输入文件读取的下一个输入记录。如果未指定 Variable 参数,则 $0 记录变量设置为该记录的值awk数组长度,还将设置 NF、NR 和 FNR 特殊变量。

mktime( YYYY MM DD HH MM SS[ DST])

生成时间格式

strftime([format [, timestamp]])

格式化时间输出,将时间戳转为时间字符串

具体格式,见下表.

得到时间戳,返回从1970年1月1日开始到当前时间(不计闰年)的整秒数

6、 strftime日期和时间格式说明符

星期几的缩写(Sun)

星期几的完整写法(Sunday)

月名的缩写(Oct)

月名的完整写法(October)

本地日期和时间

十进制日期

日期 08/20/99


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-115202-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...