Shell编程(六)awk工具

1. {print}

coins.txt

gold     1    1986    USA            American Eagle
gold     1    1968    Austria        Franz Josef 100 Korona
silver  10    1964    USA            ingot
gold     1    1956    Switzeland     ingot
awk '{print}' coin.txt 

Shell编程(六)awk工具

1.1 {print $x}: 打印第x列

awk '{print $1}' coin.txt 

Shell编程(六)awk工具

Shell编程(六)awk工具

1.2 用制表键对齐

Shell编程(六)awk工具

1.3 打印行号 (NR)

awk '{print NR "\t" $1 "\t" $2 "\t" $3}' coin.txt

Shell编程(六)awk工具

Shell编程(六)awk工具

1.4 打印列号 (NF)

 Shell编程(六)awk工具

1.5 查找功能(某行数据)

awk '$3==1986{print $0}' coin.txt 

Shell编程(六)awk工具

Shell编程(六)awk工具

Shell编程(六)awk工具

1.6 自定义分隔符

输入分隔符:FS

awk 'BEGIN{FS=","} {print $1, $2}'

Shell编程(六)awk工具

输出分隔符:OFS

Shell编程(六)awk工具

Shell编程(六)awk工具

1.7 打印多文件

 Shell编程(六)awk工具

1.8 某列不想显示

 Shell编程(六)awk工具

2. 计算

 Shell编程(六)awk工具

3. Regular Expression (正则表达式)

3.1 /abc/

data2.txt

abc
xxabc
xxabcxx
a bc
ab c
a b c
a.c
a c

Shell编程(六)awk工具

3.2 /a.c/

Shell编程(六)awk工具

3.3 /a\.c/

Shell编程(六)awk工具

3.4 ^ 和 $

/^abc/: 可以匹配 abcxxxxx

/abc$/: 可以匹配 xxxxxabc

 Shell编程(六)awk工具

Shell编程(六)awk工具

3.5 [ ]

 Shell编程(六)awk工具

Shell编程(六)awk工具

Shell编程(六)awk工具

3.6 [^abc]: 表不是abc

 Shell编程(六)awk工具

3.7 * 和 + : 匹配0-N次和至少匹配1次

 Shell编程(六)awk工具

3.8 ?: 可以有可以没有

 Shell编程(六)awk工具

3.9 {}: 控制次数

Shell编程(六)awk工具

3.10 (): 看成整体

Shell编程(六)awk工具

 

posted @ 2019-02-12 23:00 douzujun 阅读(...) 评论(...) 编辑 收藏

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2021-09-12
  • 2022-12-23
  • 2022-12-23
  • 2021-04-14
  • 2021-06-29
  • 2021-05-08
猜你喜欢
  • 2021-09-02
  • 2022-02-09
  • 2021-09-14
  • 2022-12-23
  • 2021-07-05
  • 2021-09-09
相关资源
相似解决方案