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 @   Eric-Shen  阅读(764)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2019-09-04 Servlet--06--解决乱码问题; 请求转发; 重定向;
点击右上角即可分享
微信分享提示