




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
POSIX字符类为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如:alnum:是A-Za-z0-9的另一个写法。要把它们放到号内才能成为正则表达式,如A- Za-z0-9或:alnum:。在linux下的grep除fgrep外,都支持POSIX的字符类。:alnum: 文字数字字符 :alpha: 文字字符 :digit: 数字字符 :graph: 非空字符(非空格、控制字符) :lower: 小写字符 :cntrl: 控制字符 :print: 非空字符(包括空格) :punct: 标点符号 :space: 所有空白字符(新行,空格,制表符) :upper: 大写字符 :xdigit: 十六进制数字(0-9,a-f,A-F) Chown命令更改与文件关联的所有者或组。使用权限 : root语法chown -R -f -H | -L | -P Owner :Group File . | Directory . 描述chown 命令将 File 参数指定的文件的所有者更改为 Owner 参数指定的用户。Owner 参数的值可以是可在 /etc/passwd 文件中找到的用户标识或登录名。还可以选择性地指定组。Group 参数的值可以是可在 /etc/group 文件中找到的组标识或组名。只有 root 用户可以更改文件的所有者。只在您是 root 用户或拥有该文件的情况下才可以更改文件的组。如果拥有文件但不是 root 用户,则只可以将组更改为您是其成员的组。虽然 -H、-L 和 -P 标志是互斥的,指定不止一个也不认为是错误。指定的最后一个标志确定命令拟稿将演示的操作。选项-f 禁止除用法消息之外的所有错误消息。 -h 更改遇到的符号链接的所有权,而非符号链接指向的文件或目录的所有权。 当遇到符号链接而您未指定 -h 标志时,chown 命令更改链接指向的文件或目录的所有权,而非链接本身的所有权。如果指定 -R 标志,chown 命令递归地降序指定的目录。-H 如果指定了 -R 选项,并且引用类型目录的文件的符号链接在命令行上指定,chown 变量会更改由符号引用的目录的用户标识(和组标识,如果已指定)和所有在该目录下的文件层次结构中的所有文件。 -L 如果指定了 -R 选项,并且引用类型目录的文件的符号在命令行上指定或在遍历文件层次结构期间遇到,chown 命令会更改由符号链接引用的目录的用户标识(和组标识,如果已指定)和在该目录之下的文件层次结构中的所有文件。 -P 如果指定了 -R 选项并且符号链接在命令行上指定或者在遍历文件层次结构期间遇到,则如果系统支持该操作,则 chown 命令会更改符号链接的所有者标识(和组标识,如果已指定)。chown 命令不会执行至文件层次结构的任何其它部分的符号链接。 -R 递归地降序目录,更改每个文件的所有权。当遇到符号链接并且链接指向目录时,更改该目录的所有权,但不进一步遍历目录。不过 -h、-H、-L or -P 标志也未指定,则当遇到符号链接并且该链接指向到目录时,该目录的组所有权更改但不会进一步遍历目录。Chown指令语法chown -cfhvR -help -version user:group file.使用权限 : root只解释对于下面chmod指令相比多了的部分user : 新的档案拥有者的使用者IDgroup : 新的档案拥有者的使用者群体(group)-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案。实例1、 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie : chown jessie:users file1.txt 2、 将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport : chown -R lamport:users *Chmod指令Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。 使用权限 : 所有使用者 语法chmod -cfvR -help -version mode file. -c : 若该档案权限确实已经更改,才显示其更改动作 -f : 若该档案权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) -help : 显示辅助说明 -version : 显示版本 mode : 权限设定字串,格式如下 : ugoa.+-=rwxX.,.,其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 R 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 实例1、将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt或者 chmod a+r file1.txt 2、将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt 3、将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py 4、将目前目录下的所有档案与子目录皆设为任何人可读取 : chmod -R a+r * Catcat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。比如:rootlocalhost # cat /etc/fstab语法cat 选项 文件.选项 -A, -show-all 等价于 -vET -b, -number-nonblank 对非空输出行编号 -e 等价于 -vE -E, -show-ends 在每行结束处显示 $ -n, -number 对输出的所有行编号 -s, -squeeze-blank 不输出多行空行 -t 与 -vT 等价 -T, -show-tabs 将跳格字符显示为 I -u (被忽略) -v, -show-nonprinting 使用 和 M- 引用,除了 LFD 和 TAB 之外 -help 显示此帮助信息并离开查看内容实例1、查看/etc/目录下的profile文件内容 rootlocalhost # cat /etc/profile 2、查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始rootlocalhost # cat -b /etc/fstab3、对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示rootlocalhost # cat -n /etc/profile4、查看/etc/下的profile内容,并且在每行的结尾处附加$符号rootlocalhost # cat -E /etc/profile 5、cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;rootlocalhost # cat -n /etc/profilerootlocalhost # nl /etc/profile6、cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容rootlocalhost # cat /etc/fstab /etc/profile7、cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看rootlocalhost # cat /etc/fstab /etc/profile | morecat 的创建、连接文件功能实例cat 有创建文件的功能,创建文件后,添加内容后要以EOF或STOP结束。是创建,是追加。1、 创建.txt文件rootlocalhost # cat .txt linuxsir.txt sir04.txt5、cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中rootlocalhost # cat sir01.txt sir02.txt sir03.txt sir00.txtmore最常用的就是显示输出的内容,根据窗口的大小进行分页显示,还能提示文件的百分比语法more 参数选项 文件参数如下:+num从第num行开始显示;-num定义屏幕大小,为num行;+/pattern 从pattern 前两行开始显示;-c从顶部清屏然后显示;-d提示Press space to continue, q to quit.(按空格键继续,按q键退出),禁用响铃功能; -l 忽略Ctrl+l (换页)字符;-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似; -s把连续的多个空行显示为一行;-u把文件内容中的下划线去掉退出more的动作指令是qMore动作指令查看一个内容较大的文件时,要用到more的动作指令,比如ctrl+f(或空格键) 是向下显示一屏,ctrl+b是返回上一屏; Enter键可以向下滚动显示n行,要通过定,默认为1行;Enter 向下n行,需要定义,默认为1行;Ctrl+f 向下滚动一屏;空格键 向下滚动一屏;Ctrl+b返回上一屏;= 输出当前行的行号;:f 输出文件名和当前行的行号;v 调用vi编辑器;! 命令 调用Shell,并执行命令;q 退出more实例rootlocalhost # more -dc /etc/profile 注:显示提示,并从终端或控制台顶部显示;rootlocalhost # more +4 /etc/profile 注:从profile的第4行开始显示;rootlocalhost # more -4 /etc/profile 注:每屏显示4行; rootlocalhost # more +/MAIL /etc/profile 注:从profile中的第一个MAIL单词的前两行开始显示; rootlocalhost # ls -l /etc |more 管道与more结合例子Lessless 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。主要列举常用的。常用参数-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;-f 强制打开文件,二进制文件显示时,不提示警告;-i 搜索时忽略大小写;除非搜索串中包含大写字母;-I 搜索时忽略大小写,除非搜索串中包含小写字母;-m 显示读取文件的百分比;-M 显法读取文件的百分比、行号及总行数;-N 在每行前输出行号;-p pattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile-s 把连续多个空白行作为一个空白行显示;-Q 在终端下不响铃;比如:我们在显示/etc/profile的内容时,让其显示行号;rootlocalhost # less -N /etc/profileless的主要动作命令回车键 向下移动一行;y 向上移动一行;空格键 向下滚动一屏;b 向上滚动一屏;d 向下滚动半屏;h less的帮助;u 向上滚动半屏;w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;g 跳到第一行;G 跳到最后一行;p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;v 调用vi编辑器;q 退出less!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;就less的动作来说,内容太多了,用的时候查一查man less是最好的。head显示文件内容的前几行。用法:head -n 行数值 文件名;tail显示文件内容的最后几行。用法:tail -n 行数值 文件名;grep概要是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包 括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能 更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。 语法grep -abcEFGhHilLnqrsvVwxy-A-B-C -d-e-f-help范本样式文件或目录. grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。 参数-a或-text 不要忽略二进制的数据。-A或-after-context= 除了显示符合范本样式的那一列之外,并显示该列之後的内容。-b或-byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。-B或-before-context= 除了显示符合范本样式的那一列之外,并显示该列之前的内容。-c或-count 计算符合范本样式的列数。-C或-context=或- 除了显示符合范本样式的那一列之外,并显示该列之前後的内容。-d或-directories= 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。-e或-regexp= 指定字符串做为查找文件内容的范本样式。-E或-extended-regexp 将范本样式为延伸的普通表示法来使用。-f或-file= 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。-F或-fixed-regexp 将范本样式视为固定字符串的列表。-G或-basic-regexp 将范本样式视为普通的表示法来使用。-h或-no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。-H或-with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。-i或-ignore-case 忽略字符大小写的差别。-l或-file-with-matches 列出文件内容符合指定的范本样式的文件名称。-L或-files-without-match 列出文件内容不符合指定的范本样式的文件名称。-n或-line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。-q或-quiet或-silent 不显示任何信息。-r或-recursive 此参数的效果和指定“-d recurse”参数相同。-s或-no-messages 不显示错误信息。-v或-revert-match 反转查找。-V或-version 显示版本信息。-w或-word-regexp 只显示全字符合的列。-x或-line-regexp 只显示全列符合的列。-y 此参数的效果和指定“-i”参数相同。-help 在线帮助。grep正则表达式元字符集(基本集) 锚定行的开始 如:grep匹配所有以grep开头的行。 $ 锚定行的结束 如:grep$匹配所有以grep结尾的行。 . 匹配一个非换行符的字符 如:gr.p匹配gr后接一个任意字符,然后是p。 * 匹配零个或多个先前字符 如:*grep匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。 匹配一个指定范围内的字符,如Ggrep匹配Grep和grep。 匹配一个不在指定范围内的字符,如:A-FH-Zrep匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 (.) 标记匹配字符,如(love),love被标记为1。 锚定单词的开始,如: 锚定单词的结束,如grep匹配包含以grep结尾的单词的行。 xm 重复字符x,m次,如:05匹配包含5个o的行。 xm, 重复字符x,至少m次,如:o5,匹配至少有5个o的行。 xm,n 重复字符x,至少m次,不多于n次,如:o5,10匹配5-10个o的行。 w 匹配文字和数字字符,也就是A-Za-z0-9,如:Gw*p匹配以G后跟零个或多个文字或数字字符,然后是p。 W w的反置形式,匹配一个或多个非单词字符,如点号句号等。 b 单词锁定符,如: bgrepb只匹配grep。 用于egrep和 grep -E的元字符扩展集+ 匹配一个或多个先前的字符。如:a-z+able,匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。 ? 匹配零个或多个先前的字符。如:gr?p匹配gr后跟一个或没有字符,然后是p的行。 a|b|c 匹配a或b或c。如:grep|sed匹配grep或sed () 分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。 xm,xm,xm,n 作用同xm,xm,xm,n 命令选项-? 同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。 -b,-byte-offset 打印匹配行前面打印该行所在的块号码。 -c,-count 只打印匹配的行数,不显示匹配的内容。 -f File,-file=File 从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。 -h,-no-filename 当搜索多个文件时,不显示匹配文件名前缀。 -i,-ignore-case &nb sp; 忽略大小写差别。 -q,-quiet 取消显示,只返回退出状态。0则表示找到了匹配的行。 -l,-files-with-matches 打印匹配模板的文件清单。 -L,-files-without-match 打印不匹配模板的文件清单。 -n,-line-number 在匹配的行前面打印行号。 -s,-silent 不显示关于不存在或者无法读取文件的错误信息。 -v,-revert-match 反检索,只显示不匹配的行。 -w,-word-regexp 如果被引用,就把表达式做为一个单词搜索。 -V,-version 显示软件版本信息。 使用简单实例1、$ ls -l | grep a 通过管道过滤ls -l输出的内容,只显示以a开头的行。2、$ grep test d* 显示所有以d开头的文件中包含test的行。3、$ grep test aa bb cc 显示在aa,bb,cc文件中匹配test的行。4、$ grep a-z5 aa显示所有包含每个字符串至少有5个连续小写字符的字符串的行。5、$ grep w(es)t.*1 aa如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(1),找到就显示该行。如果用egrep或grep -E,就不用”号进行转义,直接写成w(es)t.*1就可以了。使用复杂实例假设您正在/usr/src/linux/Doc目录下搜索带字符串magic的文件:$ grep magic /usr/src/linux/Doc/*sysrq.txt:* How do I enable the magic SysRQ key?sysrq.txt:* How do I use the magic SysRQ key?其中文件sysrp.txt包含该字符串,讨论的是 SysRQ 的功能。默认情况下,grep只搜索当前目录。如果此目录下有许多子目录,grep会以如下形式列出:grep: sound: Is a directory这可能会使grep的输出难于阅读。这里有两种解决的办法:明确要求搜索子目录:grep -r或忽略子目录:grep -d skip如果有很多输出时,您可以通过管道将其转到less上阅读:$ grep magic /usr/src/linux/Documentation/* | less这样,您就可以更方便地阅读。有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,grep会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 ,然后再试。常用命令行参数:grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,grep -l pattern files :只列出匹配的文件名,grep -L pattern files :列出不匹配的文件名,grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配magic,而不是magical),grep -C number pattern files :匹配的上下文分别显示number行,grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。特殊的搜索符号: 分别标注单词的开始与结尾。例如:grep man * 会匹配 Batman、manic、man等,grep man * 匹配manic和man,但不是Batman,grep 只匹配man,而不是Batman或manic等其他的字符串。:指匹配的字符串在行首,$:指匹配的字符串在行尾,awk:样式扫描与处理工具概要AWK是Unix平台上一种可以对文本进行逐行处理的编程语言,它来源于3个创作者的名字:Aho、(Peter)Weinberg和(Brain)Kernighan. 与sed和grep很相似,awk是一种样式扫描与处理工具,但其功能却大大强于sed和grep。awk提供了极其强大的功能:它几乎可以完成grep和sed所能完成的全部工作,同时,它还可以可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。awk的三位创建者已将它正式定义为:样式扫描和处理语言。AWK的调用方式1). 程序体直接写到AWK命令行中,适用较简单的情况awk program input-file1 input-file2 .2). 程序体写入文件中,用AWK命令调用该文件awk -f program-file input-file1 input-file2 .3). C shell作为命令解释程序,调用AWK来执行AWK程序,写成的脚本#!/bin/csh -fawk print $8, t, $3 4). AWK作为命令解释程序,写成的脚本#!/bin/awk -f print $8, t, $3AWK的参数说明awk -F re parameter. prog -f progfilein_file.参数说明:-F re: 允许awk更改其字段分隔符。parameter: 该参数帮助为不同的变量赋值。prog: awk的程序语句段。必须用单引号:和括起,以防被shell解释。这个程序语句段的标准形式为: pattern action (1) pattern参数是匹配模式,跟Sed命令类似。 (2) action参数总是被大括号包围,由一系统awk语句组成,各语句间用;分隔。 awk在pattern给定的样式匹配记录上执行其操作。 使用“#”作为注释符。 (3) 可以省略pattern和action之一,但不能两者同时省略,当省略pattern时没 有样式匹配,表示对所有行(记录)均执行操作,省略action时执行缺省的操作在标准输出上显示。 (4) 可以包含多个pattern action,如果一个记录满足多个pattern,其对应的action会被执行多次-f progfile: 允许awk调用执行程序文件。progfile是一文本文件,必须符合awk语法。in_file: awk的输入文件,awk允许对多个输入文件进行处理。*awk不修改输入文件。如果未指定输入文件,awk将接受标准输入,并将结果显示在标准输出上。awk支持输入输出重定向。(跟SED类似)AWK的记录(Record)与字段(Field)awk处理的工作与数据库的处理方式有相同之处,其相同处之一就是awk支持对记录和字段的处理,其中对字段的处理是grep和sed不能实现的。在awk中,缺省的情况下总是将文本文件中的一行视为一个记录,而将一行中的某一部分作为记录中的一个字段。为了操作这些不同的字段,awk借用shell的方法,用$1,$2,$3.这样的方式来顺序地表示行(记录)中的不同字段。特殊地,awk用$0表示整个行(记录)。不同的字段之间是用称作分隔符的字符分隔开的。系统默认的分隔符是空格。awk允许在命令行中用-F re的形式来改变这个分隔符。事实上,awk用一个内置的变量FS来记忆这个分隔符,可以在程序中进行修改。AWK的流程控制1、BEGIN和END:在awk中两个特别的表达式,BEGIN和END,这两者都可用于pattern中,提供BEGIN和END的作用是给程序赋予初始状态和在程序结束之后执行一些扫尾的工作。任何在BEGIN之后列出的操作(在内)将在awk开始扫描输入之前执行,而END之后列出的操作将在扫描完所有输入之后执行。因此,通常用BEGIN来显示变量和预置(初始化)变量,用END来输出最终结果。 例:累计销售文件xs中的销售金额(假设销售金额在记录的第三字段):$awkBEGIN FS=:;print 统计销售金额;total=0print $3;total=total+$3;END printf 销售金额总计:%.2f,total sx是shell提供的第二提示符,如要在shell程序awk语句和awk语言中换行,在行尾加反斜杠在这里,BEGIN预置了内部变量FS(字段分隔符)和自定义变量total,同时在扫描之前显示出输出行头。而END则在扫描完成后打印出总合计。2、流程控制语句同样的有if.else语句,while语句,do-while语句,for语句。while、do-while和for语句中允许使用break, continue,exit来控制程序走向。Break:中断当前正在执行的循环并跳到循环外执行下一条语句。Continue:从当前位置跳到循环开始处执行。Exit:当exit语句不在END中时,该命令表现得如同到了文件尾,所有模式或操作将停止,END模式中的操作被执行。而出现在END中的exit将导致程序终止。AWK的变量awk提供两种变量,一种是awk内置的变量,在awk程序中引用内置变量不需要使用标志符$,awk提供的另一种变量是自定义变量。当然这种变量不能与内置变量及其它awk保留字相同,在awk中引用自定义变量必须在它前面加上标志符$。awk中不需要对变量进行初始化,awk根据其在awk中第一次出现的形式和上下文确定其具体的数据类型。当变量类型不确定时,awk默认其为字符串类型。这里有一个技巧:如果你要让你的awk程序知道你所使用的变量的明确类型,你应当在在程序中给它赋初值。AWK中的函数AWK的函数同样包括内置函数和用户自定义的函数。原始的awk不提供函数功能,只有在nawk或较新的awk版本中才可以增加函数。函数的使用包含两部分:函数的定义与函数调用。其中函数定义又包括要执行的代码(函数本身)和从主程序代码传递到该函数的临时调用。awk函数的定义方法如下:function 函数名(参数表)函数体函数名必须是一个合法的标志符,参数表中可以不提供参数(但在调用函数时函数名后的一对括号仍然是不可缺少的),也可以提供一个或多个参数。awk的参数也是通过值来传递的。在awk中调用函数比较简单,其方法与C语言相似,但awk比C语言更为灵活,它不执行参数有效性检查。换句话说,在你调用函数时,可以列出比函数预计(函数定义中规定)的多或少的参数,多余的参数会被awk所忽略,而不足的参数,awk将它们置为缺省值0或空字符串,具体置为何值,将取决于参数的使用方式。awk函数有两种返回方式:隐式返回和显式返回。当awk执行到函数的结尾时,它自动地返回到调用程序,这是函数是隐式返回的。如果需要在结束之前退出函数,可以明确地使用返回语句提前退出。方法是在函数中使用形如:return 返回值 格式的语句。例:下面的例子演示了函数的使用。nawkBEGINpageno=1;file=FILENAMEpageno=print_header(file,pageno);span lang=EN-US style=#调用函数print_headerprintf(当前页页号是:%dn,pageno);#定义函数print_headerfunction print_header(FileName,PageNum)printf(%s %dn,FileName,PageNum); PageNum+;return PageNUm; myfileAWK的内置变量(预定义变量)说明:表中v项表示第一个支持变量的工具:A=awk,N=nawk,P=POSIX awk,G=gawkV 变量 含义 缺省值-N ARGC 命令行参数个数G ARGIND 当前被处理文件的ARGV标志符N ARGV 命令行参数数组G CONVFMT 数字转换格式 %.6gP ENVIRON UNIX环境变量N ERRNO UNIX系统错误消息G FIELDWIDTHS 输入字段宽度的空白分隔字符串A FILENAME 当前输入文件的名字P FNR 当前记录数A FS 输入字段分隔符 空格G IGNORECASE 控制大小写敏感0(大小写敏感)A NF 当前记录中的字段个数A NR 已经读出的记录数A OFMT 数字的输出格式 %.6gA OFS 输出字段分隔符 空格A ORS 输出的记录分隔符 新行A RS 输入的记录他隔符 新行N RSTART 被匹配函数匹配的字符串首N RLENGTH 被匹配函数匹配的字符串长度N SUBSEP 下标分隔符 034AWK的内置函数V 函数 用途或返回值-N gsub(reg,string,ta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 少数民族语言保护传承承诺书6篇
- 2025金华兰溪市市属国企招聘32人考前自测高频考点模拟试题及一套答案详解
- 2025福建厦门鼓浪湾大酒店有限公司(第二批)招聘5人模拟试卷有答案详解
- 2025北京昌平区统计局招聘经济运行监测工作专班助统员1人考前自测高频考点模拟试题及参考答案详解
- 2025-2026学年湖南湖湘名校联盟新高二上学期入学考试英语试卷(解析版)
- 辽宁省沈阳市某中学2025-2026学年高一上学期开学地理试题(学生版)
- 2025年上海市金融稳定发展研究中心公开招聘工作人员模拟试卷及答案详解(网校专用)
- 家庭健康防护承诺函9篇范文
- 企业合规运营责任承诺书(4篇)
- 遵规守时践行承诺书5篇
- 3.1 列代数式表示数量关系(第 1 课时)说课稿人教版七年级数学上册
- 托班服务协议书标准版5篇
- 安全应急预案编制培训课件
- 青少年社会化实践教育模式研究
- 智能测绘课件
- 2025至2030中国乳房重建和隆胸行业发展趋势分析与未来投资战略咨询研究报告
- 2025年70周岁以上老年人换长久驾照三力测试题库(含答案)
- AMZ123《2025上半年跨境电商行业报告》
- 数据赋能打造精准教学新模式
- 家庭教育指导服务行业:2025年家庭教育市场消费者行为分析报告
- 苏州加装电梯协议书范本
评论
0/150
提交评论