获取队列中的具体号码

获取队列中的具体号码

我有这个文件

    123 My name is Lorry I'm 29 years old 10000 45
    148 Name - Dan 20000 18
    895 My name is John Lazaro I like tennis 30000 63

我只想打印一行中的最后一个数字

45
18
63

可以这样做吗?

更新:现在我想打印

10000
20000
30000

答案1

在您的情况下,最后一个(空格分隔)单词恰好是一个数字。如果情况总是如此,那么您的问题可以简化为打印最后一个单词,例如:

awk 'NF {print $NF}'

或者

sed 's/.* //'

对于前一个:

awk 'NF >= 2 {print $(NF-1)}'

如果你想打印最后一个单词,如果它是正十进制整数,那么它就变成:

awk '$NF ~ /^[0-9]+$/ {print $NF}'

(替换$NF$(NF-1)前一个)。

如果要在每行中打印最右边的十进制数字序列,则:

sed -n 's/^/./;s/.*[^0-9]\([0-9]\{1,\}\).*/\1/p'

对于前一个:

sed -n 's/^/./;s/.*[^0-9]\([0-9]\{1,\}\)[^0-9].*[0-9].*/\1/p'

答案2

您可以尝试使用awk打印最后提交的:

awk '{ print $NF }' file

对于最后一个旁边的打印字段:

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

答案3

如果有人需要我更新的输出,只需输入以下内容

awk '{print $(NF-1)}' file.txt

相关内容