awk - awk + 如何获取文件中的最新数字但排除数字直到 4 位数
问题描述
我们有如下文件
more file
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 07:10 /noij/gtdf/license_alerts/alert_1_1623222654527
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 07:10 /noij/gtdf/license_alerts/alert_1_1623222654679
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 07:10 /noij/gtdf/license_alerts/alert_1_1623222654744
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746040_69
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746059_66
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746061_65
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746162_65
虽然我需要取最后一个数字,但如果数字包含 1-3 位则排除
预期结果应该是
1623222654527
1623222654679
1623222654744
所以我到目前为止的方法是
sed s'/_/ /g' file | awk '{print $NF}'
但它的印刷品
1623222654527
1623222654679
1623222654744
69
66
65
65
如何改进我的语法以排除具有 1 位或 2 位或 3 位数字的最新数字?
所以我们得到这样的输出
1623222654527
1623222654679
1623222654744
解决方案
像这样?:
$ awk -F_ 'length($NF)>3{print $NF}' file
输出:
1623222654527
1623222654679
1623222654744
使用_
as 字段分隔符,如果最后一个字段的长度$NF
大于 3,则输出最后一个字段。
推荐阅读
- python - 尝试安装 Heroku 软件包时收到错误消息
- python-3.x - Cherrypy NGINX 错误:/some/path 的 403 目录索引被禁止
- php - 使用php将带有输入值的数组发送到数据库
- twilio - 发送 VCF 文件 (Vcard) 无法通过 WhatsApp 或 SMS,我做错了什么?
- php - 如何在 PHP 中检索 Posted JSON、构造字符串和电子邮件
- java - 在 Java 中导入自定义类,使用命令行
- c# - 当我发布解决方案时,ConnectionStrings 不起作用
- android - 使用资产管理器的空点对象
- vue.js - Rails Vuejs - 在滚动上更改导航链接颜色不起作用
- python - 如何填充 help() 中的各个方面