linux期末复习-611缩印本.docVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE  PAGE 28 awk的语法: awk是一种用于在linux/unix下对文本和数据进行处理的命令。与其它UNIX命令一样,awk拥有自己的语法: awk [ -F re] [parameter...] [prog] [-f progfile][in_file...] 参数说明: -F re:允许awk更改其字段分隔符。 parameter: 该参数帮助为不同的变量赋值。 prog: awk的程序语句段。这个语句段必须用单拓号:和括起,以防被shell解释。这个程序语句段的标准形式为 pattern {action} 关键 其中pattern参数可以是egrep正则表达式中的任何一个,它可以使用语法 / 正则表达式 / 再加上一些样式匹配技巧构成。 例1:awk –F: ‘$1~/oo/ {print $1,$3,$6}’ /etc/passwd print是默认动作 awk –F: ‘$1~/oo/ {print “username:”,$1,”\n”,”userID:”,$3}’ /etc/passwd 例2:awk -F: $2== {printf(%s no password!\n,$1} /etc/passwd pringf是格式化输出 -f progfile:允许awk调用并执行progfile指定有程序文件。progfile是一个文本文件,他必须符合awk的语法。 in_file:awk的输入文件,awk允许对多个输入文件进行处理。值得注意的是awk不修改输入文件。如果未指定输入文件,awk将接受标准输入,并将结果显示在标准输出上。awk支持输入输出重定向。 例1:awk –F: ‘{print NR,$1 ”tmp/t1”}’ /etc/passwd 例2:awk –F: ‘{print $1 | “sort”}’ /etc/passwd sort是shell的命令,一定要加双引号 awk的记录、字段与内置变量: 在awk中,缺省的情况下总是将文本文件中的一行视为一个记录,而将一行中的某一部分作为记录中的一个字段。为了操作这些不同的字段,awk借用shell的方法,用$1,$2,$3...这样的方式来顺序地表示行(记录)中的不同字段。特殊地,awk用$0表示整个行(记录)。不同的字段之间是用称作分隔符的字符分隔开的。系统默认的分隔符是空格。awk允许在命令行中用-F re的形式来改变这个分隔符。事实上,awk用一个内置的变量FS来记忆这个分隔符。awk中有好几个这样的内置变量,例如,记录分隔符变量RS、当前工作的记录数NR等等,本文后面的附表列出了全部的内置变量。这些内置的变量可以在awk程序中引用或修改,例如,你可以利用NR变量在模式匹配中指定工作范围,也可以通过修改记录分隔符RS让一个特殊字符而不是换行符作为记录的分隔符。 例1:显示文本文件myfile中第七行到第十五行中以字符%分隔的第一字段,第三字段和第七字段: awk -F % NR==7,NR==15 {print $1 $3 $7} 例2:awk –F: ‘{OFS=”-“}{print $1,$3}’ /etc/passed 等于 awk ‘{FS=”:”}{OFS=”-“}{print $1,$3}’ /etc/passed 例3:下面的示例显示了内置变量和内置函数length()的使用: $awk length($0)80 {print NR} myfile 该命令行将显示文本myfile中所有超过80个字符的行号 或awk {if(length($0)80) print NR} myfile 题1:显示当前目录中各文件的文件名和文件大小,并按文件大小排序。要求文件名在前 Ls –l|tr –s “ “ |awk ‘{OFS=”\t”}{print $7,$5}’|sort +1 -n 题2:显示普通用户用户名和用户号, 并统计普通用户的个数。 Awk -F: ‘$3=500 {printf $1,$3}’ /etc/passwd Awk -F: ‘{if($3=500) printf $1,$3}’ /etc/passwd Awk -F: ‘{OFS=”\t”}‘ ‘$3=500 {printf $1,$3}’ /etc/passwd Awk -F: ‘{OFS=”\t”} {if($3=500) printf NR,$1,$3}’ /etc/passwd Awk -F: ‘ {OFS=”\t”} BEGIN{i=0} {if($3=500) {p

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档