我们有如下文件
更多文件
-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
以_
为字段分隔符,如果最后一个字段$NF
的长度大于3,则输出最后一个字段。
关于awk + 如何获取文件中的最新数字但排除数字直到 4 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67901338/