1.1 awk 命令介绍
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具
之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符
1.2 常用参数
| 参数 | 作用 |
|---|---|
| -F | 指定分隔符 |
1.3 常用内置命令字符
| 字符 | 含义 |
|---|---|
| $n | 第n列(n为数字) |
| $0 | 整行 |
| $NF | 最后一列 |
| $(NF-1) | 倒数第二列 |
| NR | 行号 |
| || | 逻辑或 |
| && | 逻辑与 |
| < <= > >= != | 关系运算符 |
1.4 使用实例
1.4.1 awk 取列
# 取第一列
awk '{print 1}' /etc/hosts
# 取最后一列
awk '{printNF}' /etc/hosts
# 取倒数第二列
awk '{print $(NF-1)}' /etc/hosts
1.4.2 awk 取行
# 只取第一行
awk 'NR==1{print 0}' /etc/hosts
# 只取第一行的第二列
awk 'NR==1{print2}' /etc/hosts
# 取第一行的倒数第两列
awk 'NR==1{print NF,(NF-1)}' /etc/hosts
1.4.3 awk 关系符运算符
# || 或者符
awk 'NR==1||NR==3{print 0}' /etc/passwd
# && 并且符
awk 'NR>=1&&NR<=3{print0}' /etc/passwd
# < 小于
awk 'NR<2{print 0}' /etc/passwd
# <= 小于等于
awk 'NR<=2{print0}' /etc/passwd
# > 大于
awk 'NR>2{print 0}' /etc/passwd
# >= 大于等于
awk 'NR>=2{print0}' /etc/passwd
# == 等于
awk 'NR==2{print 0}' /etc/passwd
# != 不等于
awk 'NR!=2{print0}' /etc/passwd
本文链接:https://www.yunweibase.com/archives/672



网友评论comments