数组 – 如何从awk中的split函数访问数组的最后一个索引?

我怎么能用awk做到这一点?

示例 –

awk '{split($1,A,"."); print A[-1],$1,$2,$3,$4}'

样本输入和输出.

输入

123 456 abc.def.ghi 789 
321 654 qaz.wsx.edc.rfv 987

产量

ghi 123 456 abc.def.ghi 789  
rfv 321 654 qaz.wsx.edc.rfv 987

解决方法

如果您的问题与您的问题中的示例完全相同,请从@muzido获取答案,$NF将为您提供最后一个字段.

如果您只想通过split()知道数组的最后一个元素:

split()函数将返回它刚刚“拆分”的元素数量,使用您的代码进行测试:awk'{print split($1,“.”)}’文件您将看到该数字.然后你可以通过以下方式使用它:

awk '{n=split($1,"."); print A[n]}' file 
# n is the length of array A

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...