Linux命令之awk

awk:报告生成器(不修改文本)
行:record
列:field
NR:number of record //行数
NF:number of field //列数

在这里插入图片描述
**注:**列与列之间以空格为分隔符

例子1;

打印文档第一列:

 awk '{print $1}' access_log 

在这里插入图片描述

例子2:

awk '{print $NF}' access_log 

打印最后一列:
在这里插入图片描述

例子3:

打印最后一列得到的值减一后的值

awk '{print $NF-1}' access_log 

在这里插入图片描述

例子4;

打印倒数第二列

awk '{print $(NF-1)}' access_log 

在这里插入图片描述

例子5:列对齐:

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

在这里插入图片描述

awk '{print $1 $2 $3}' one.txt

注:直接连接
在这里插入图片描述

awk '{print $1,$2,$3}'  one.txt

注:以一个空格分隔
在这里插入图片描述
参数F后指明分隔符;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例子6:

显示行数:

awk '{print NR "\t" $0}' one.txt

在这里插入图片描述
注:行的计数,$0:所有列
awk默认,把空格当做字符拼接符,逗号则是默认分隔符(空格)

显示列数:
在这里插入图片描述
注:打印每一行中的列数

例子7:

显示2012年入职的员工
在这里插入图片描述
只打印每行的列数;
在这里插入图片描述
只打印每行的行数:
在这里插入图片描述
只打印第3行:
在这里插入图片描述
只打印列数为4的行
在这里插入图片描述

例子8:

如何后面不指明文件名,awk会等待输入:
在这里插入图片描述

例子9:

awk ‘BEGIN{FS=","}{prnt $1}'

注:BEGIN表示全局变量,FS表示当前分隔符
awk默认的输入分隔符和输出分隔符分别定义的

awk 'BEGIN{FS="2"}{print $1}' one.txt 

在这里插入图片描述
解释:FS表示输入分隔符,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解释:OFS表示输出分隔符。
注:如果要使用指定分隔符,后面一定要加逗号。

例子9:

1)

awk '{print NR,$0}' one.txt two.txt 

会把two.txt的内容追加到one.txt下方显示。
在这里插入图片描述

2)
FILENAME:为文件名。
在这里插入图片描述

3)

重定向到另外一个文件中。
在这里插入图片描述
在这里插入图片描述
4)

awk '{print NR,"\t",FILENAME,"\t",$0}' one.txt two.txt 
awk 'BEGIN{OFS="**"}{print NR,"\t",FILENAME,"\t",$0}' one.txt two.txt 

在这里插入图片描述

例子10

1)
隐藏某列内容:

awk '{$1="";print $0}' one.txt 

在这里插入图片描述

例子11:

<与<<的区别
在这里插入图片描述

例子12:

1)awk做计算
在这里插入图片描述
awk会等待输入,因为没有输入,所以直接回车,awk会出计算结果
按ctrl+c结束。
2)awk计算时包含字符
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值