我有file result.txt,看起来像这样:
acb.xyz.asd
mnt.x.sdr
s.ere.43
我想编写shell脚本,该脚本将提取最后一个单词和打印如下:
asd
sdr
43
我尝试了AWK命令,但它不起作用:
awk 'NF>1{print $NF}' result.txt
我认为我需要使用定界符"。然后根据分析结果解析结果.txt。请帮助。
我通常使用 rev | cut | rev
从右侧提取列。
rev result.txt | cut -d. -f1 | rev
rev Linux中的命令用于反向字符。
cut unix中的命令是为了从每一文件中删除各节并将结果写入标准输出。
-
-d
表示定界符(shere.
) -
-f
说要提取哪个字段(此处为1 st 一个)
您确实错过了-F
选项的awk
awk -F. 'NF>1{print $NF}' result.txt
另外,您可以使用cut
并指定所需的定界符和字段
cut -d. -f3 result.txt
我认为sed -r -e 's/[^.]+.[^.]+.//'
会做您想要的。