- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
首先我经常会尝试去写一个最短字符的脚本。为了省空间,我通常使用
1 来代替 {print} 去打印每行,两种写法都能正确运行。
文本间隔:
# 每行后面增加一行空行
awk 1;{print }
awk BEGIN{ORS=\n\n};1
# 每行后面增加一行空行。输出文件不会包含连续的两个或两个以上的空行
# 注意:在 Unix 系统, DOS 行包括的 CRLF (\r\n ) 通常会被作为非空行对待
# 因此 NF 将会返回 TRUE 。
awk NF{print $0 \n}
# 每行后面增加两行空行
awk 1;{print \n}
编号和计算:
# 以文件为单位,在每句行前加上编号 (左对齐)
# 使用制表符 (\t ) 来代替空格可以有效保护页变的空白。
awk {print FNR \t $0} files*
# 用制表符 (\t ) 给所有文件加上连贯的编号。
awk {print NR \t $0} files*
# 以文件为单位,在每句行前加上编号 (编号在左,右对齐)
# 如果在 DOS 环境下,需要写两个 %
awk {printf(%5d : %s\n, NR,$0)}
# 给非空白行的行加上编号
# 记得 Unix 对于 \r 的处理的特殊之处。 (上面已经提到)
awk NF{$0=++a : $0};{print}
awk {print (NF? ++a : :) $0}
# 计算行数 (模拟 wc -l )
awk END{print NR}
# 计算每行每个区域之和
awk {s=0; for (i=1; i=NF; i++) s=s+$i; print s}
# 计算所有行所有区域的总和
awk {for (i=1; i=NF; i++) s=s+$i}; END{print s}
# 打印每行每区域的绝对值
awk {for (i=1; i=NF; i++) if ($i 0) $i = -$i; print }
awk {for (i=1; i=NF; i++) $i = ($i 0) ? -$i : $i; print }
# 计算所有行所有区域(词)的个数
awk { total = total + NF }; END {print total} file
# 打印包含 Beth 的行数
awk /Beth/{n++}; END {print n+0} file
# 打印第一列最大的行
# 并且在行前打印出这个最大的数
awk $1 max {max=$1; maxline=$0}; END{ print max, maxline}
# 打印每行的列数,并在后面跟上此行内容
awk { print NF : $0 }
# 打印每行的最后一列
awk { print $NF }
# 打印最后一行的最后一列
awk { field = $NF }; END{ print field }
# 打印列数超过 4 的行
awk NF 4
# 打印最后一列大于 4 的行
awk $NF 4
构建字符串:
# 构建一指定长度的字符串(比如, 513 个空格)
awk BEGIN{while (a++513) s=s ; print s}
# 在某一位置中插入以特定长度的字符串
# 例子:在每行第 6 列后插入 49 个空格
gawk --re-interval BEGIN{while(a++49)s=s };{sub(/^.{6}/, s)};1
构建数组:
# 以下两个部分并不是一句话脚本,但是这些技巧相当便捷所以也包括进来
# 构建一个叫 month 的数组,以数字为索引, month[1] 就是 Jan ,month[2] 就是
# Feb ,month[3] 就是 Mar ,以此类推。
split(Jan Feb Mar Apr May Jun Jul Aug Sep
您可能关注的文档
- 多媒体课件脚本范例.pdf
- 法库三中宣传片拍摄脚本.pdf
- 《小学数学教学研究》网络课程教学设计脚本.pdf
- 怀远物流企业宣传片脚本.pdf
- 把挫折踩在脚下.pdf
- 单脚踏跳双脚落地教案.pdf
- Android的初始化语言脚本init.rc解析.pdf
- js猜数字游戏,html脚本,就是编程,js基础.pdf
- 怎样才能去除脚上的脚垫.pdf
- 芯片ic管脚说明.pdf
- 2025年市国资委党委开展深入贯彻中央八项规定精神学习教育工作方案与开展学习中央八项规定主题教育工作方案(2篇文).docx
- 在2025年市商务局党组研究部署深入贯彻中央八项规定精神学习教育专题会上的讲话稿、教育动员部署会议上的讲话提纲【2篇文】.docx
- 开展2025年学习八项规定主题教育工作方案与领导在局机关深入贯彻八项规定精神学习教育部署会上的讲话稿(两篇文).docx
- 2025年深入贯彻中央八项规定精神学习教育实施方案与全面落实中央八项规定精神情况总结(2篇文).docx
- 2025年落实中央八项规定精神情况总结稿与领导在深入贯彻中央八项规定精神学习教育工作会议的主持讲话稿(2篇文).docx
- 2025年组织部长在八项规定学习教育工作专班座谈会的讲话稿与开展学习中央八项规定主题教育工作方案(两篇文).docx
- 学习2025年深入贯彻中央八项规定精神知识测试题135题【附答案】与全面深入贯彻中央八项规定精神学习教育实施方案.docx
- 2025年县委书记在中央八项规定精神学习教育动员会上的讲话稿遵守党的政治纪律和落实中央八项规定精神情况个人对照检查材料(2篇文).docx
- 2025年在深入贯彻中央八项规定精神学习教育动员部署会上的讲话稿与在市委党的建设工作领导小组会议暨部署深入贯彻中央八项规定精神学习教育专题会讲话稿(两篇文).docx
- 2025年市工业园区党工委开展深入贯彻中央八项规定精神学习教育工作方案与深入贯彻中央八项规定精神学习教育动员部署会讲话提纲【2篇文】.docx
文档评论(0)