六周第三次课(3月14日)
9.6/9.7 awk
扩展
9.6 awk(上)
把passwd文件拷贝到目录awk,做实验。
打印文档中的某段
打印第1段的用法示例如下:
打印所有段的用法示例如下:
不需要制定分隔符
不制定分隔符,会以空格和空白字符为为空隔符去打印。
创建一个测试文件。
打印第1第3第4段的用法。中间要加逗号。
自定义分隔符为#,自定义的内容要加“”
打印包含某字符或字符串的行
打印含有oo的行,命令如下:
打印第1段含有oo的行,命令如下:
可以分段匹配,比sed强。
awk支持正则表达式。
打印第1段包含1个或多个o的行,命令如下:
打印第1段包含2个或多个o的行,命令如下:
awk不用加脱意字符
可以多个一起写,示例命令如下:
数学运算表达式
加双引号会按ASCII码排序方式进行计算。需求是数字的,不要加双引号。
打印第7段不等于1000的行,命令如下:
字符串要加上双引号。
9.7 awk(下)
打印第3段比第4段小的行
打印第3段=第4段的行
两个条件一起用
内置条件
OFS的用法示例如下:
{}和{}之间写条件。
加if,在用{}括起来,比较规范。
行号打印出来
每行多少段打印出来
赋值,输出的结果,分隔符没有了。
加上OFS,就有分隔符号。
计算第3段的总和。
{}里是循环,刚开始tot默认是0,第1行第3段+第2行第3段,一直加。
原文地址:http://blog.51cto.com/461565/2087381
时间: 2024-10-22 20:32:01