支持分段
[root@serverlooker-01 awk]# awk -F ':' '{print $1}' test.txt
指定分隔符,把第一段打印出来(不会更改文本内容)
---
打印所有的段(用$0表示)
(相当于 cat)
如果不指定分隔符,默认以空格或空白字符来分割
--
想多要几列:
指定分割:
---
包含oo的行打印出来:
只要第一段:
同样也支持正则:
---
支持做个表达式一起写:
---
数学运算表达式:
(写一个=相当于是赋值)
(加“”相当于sort 不加-n, 是以 ASCII 的排序方式去计算的,会认为是一个字符串,而不是数字。所以如果需求是针对数字的,不要加双引号)
---
(不等于 !=)
---
两个字段相互比较:
两个条件在一起用 并且:
表 或者:
还可以匹配 (用符号~):
---
内置变量OFS,用来指定print时用的分隔符
(两个花括号中间写条件,不写条件就是全部)
---
还可以加一些修饰符:
--
NR 表示行 NF表示段
(相当于grep的 -n功能)
(全部都是7段)
---
NR NF 是可以作为一个判断条件的
例如把前十行打印出来:
---
root@serverlooker-01 awk]# awk -F ':' '{print $NR":"$NF}' test.txt
--
赋值之后,分隔符没了,怎么办?
---
[root@serverlooker-01 awk]# awk -F ':' '{(tot=tot+$3)}; END {print tot}' test.txt
total 值 每一次循环,都要把第三段的值相加。 求和一列tot total
---
awk 是完全可以写一个脚本的。
---
OK.