linux中awk命令和xargs命令的详解使用

一 awk命令

1.1 命令的作用

awk为行命令处理器,对每一行的文本数据,进行格式化文本信息。

目的:在处理庞大文件时不会出现内存溢出或是处理缓慢的问题。

1.2 案例应用

获取某一行文本数据,提取不同字段的值。

1.显示整行数据

[root@localhost jiaoben]# tail -n 1 nohup.out

2023-01-04 15:04:40.001 [scheduling-1] INFO GlDeviceStopTotalTaskLog - m:30 开始进行休眠

2截取不同字段数据

[root@localhost jiaoben]# tail -n 1 nohup.out |awk '{print $0}'

2023-01-04 15:04:40.001 [scheduling-1] INFO GlDeviceStopTotalTaskLog - m:30 开始进行休眠

[root@localhost jiaoben]# tail -n 1 nohup.out |awk '{print $1}'

2023-01-04

[root@localhost jiaoben]# tail -n 1 nohup.out |awk '{print $2}'

15:04:40.001

[root@localhost jiaoben]# tail -n 1 nohup.out |awk '{print $1,$2}'

2023-01-04 15:04:40.001

注意解释:

$0 表示整个当前行

$1 每行第一个字段

二 xargs命令

2.1 xargs的命令参数

xargs 是一个非常强大的命令,它获取命令的输出并将其作为另一个命令的参数传递。

xargs命令是给其它命令传递参数的过滤器。流转示意图如下:

2.2 案例操作

2.2.1 输出多行数据

2.2.2 删除多余文件

找到制定目录下,删除修改日期为两天前的文件。

find /home/new-idaa-analysis/logs/ -mtime +2 -type f |xargs rm -f

2.2.3 查询统计当前目录下所有log文件的行数

[root@localhost logs]# find ./ -type f -name "*.log"|xargs wc -l

28 ./dky-guolu-stopdevice-total-task.log

21 ./gldevicestoptotaltask/gldevicestoptotaltask.log

49 total

[root@localhost logs]#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值