Linux——0*——awk


 

sed修改文件

awk统计切割文件

一、awk工作原理

注意:

  •  图形化解释:
  • 如果没有逗号  ‘,’           ,$1和$3之间将会连着被打印,因为OPS没有被逗号映射到所以未启用;
  • BEGIN{}      发生在读文件前执行本命令
  • {}                 行处理命令
  • END{}         所有行处理斗结束之后执行本命令

 

 

二、awk变量

1、awk内部变量

$0,$1,$2.......$100这些都是awk的内部变量 
NF:指的是字段的数量;
$NF:指的是最后一个字段的内容;如果$13是最后一个字段,那么$NF=
$13
FS(filed):输入字段分隔符,就是从读入一行记录时,这一行记录以什么作为每个字段的分隔符;默认空格
OFS:输出字段分隔符,就是在输出一个字段的时候,添加一个指定的符号,默认空格;
RS(record):输入记录分隔符 

ORS:输出记录分隔符,即时在输出一条记录的时候,添加一个指定的符号,默认回车键;

2、awk如何使用外部变量

 

 

 

 

 

 

 

 

三、awk模式和动作

  •  ~正则匹配
  • /....../ 正则表达式
  • ~/^....../开始匹配一个以。。。开头的字符串
  • ~/......$/开始匹配一个以。。。结尾的字符串

1、模式可以是:

  •  
  •  

2、awk选择和循环

  • if:       awk -F:  'BEGIN{}          {if(){}     else if(){}     else if(){}     else if(){} }                END{} ' filename
  • while: awk -F:  'BEGIN{}     {i++;while(){}}             END{}' filename 
  • for:     awk -F:  'BEGIN{}     {for(i=0;i<10;i++){print i}}             END{}' filename 

3、awk数组

 

 

四、awk内置函数

length($1):统计此变量的长度

gsub():全局替换

sub():替换

int():获取一个变量的整数

 

print和printf函数,awk格式化输出:

print里,不加引号,默认是变量;如果想打印普通字符串,需要加上双引号;

 

 

posted @ 2020-09-04 11:55  Eric-Shen  阅读(742)  评论(0编辑  收藏  举报