shell脚本学习(6)awk 编排字段

Yyqingmofeige 2019-10-30

awk能取出文本字段重新编排

1 awk的用法

awk ‘program’ [file]

2 其中program 可以写成 ‘parrtern {action}’    pattern 或 action可以只写一个,

 只写一个action的 ‘{print 0}’ 就执行action

shell脚本学习(6)awk 编排字段

 只写一个pattern  根据pattern结果,做if判断, 成立就打印数据, 

NF是当前行数。

shell脚本学习(6)awk 编排字段

 

3设置分割字段

    -F 后跟的就是分割符, 这里用的是: 输出分割后的第一列数据

awk -F: ‘{print $1}‘ do.txt

shell脚本学习(6)awk 编排字段

 

-v OFS 是设置输出分隔符,  输出后会用** 连接两个字段

awk -Fa -v ‘OFS=**‘ ‘{print $1, $3}‘ do.txt

shell脚本学习(6)awk 编排字段

 

4 打印行

   采集特定的字段, 用print打印

awk -F: ‘{print "yuyuyu", $1, "is really", $2}‘ do.txt

shell脚本学习(6)awk 编排字段

采集特定的字段, 用printf打印

awk -F: ‘{printf "yuyuyu %s is really %s\n", $1, $2}‘ do.txt

shell脚本学习(6)awk 编排字段

5 awk的起始,清除操作

   BEGIN {}

    PATTERN1 {ACTION1}

    PATTERN2 {ACTION2}

  END {}

awk ‘BEGIN {FS = ":"; OFS = "**"} {print $1, $2}‘ do.txt

shell脚本学习(6)awk 编排字段

相关推荐