我正在尝试使用awk
给定文件的绝对路径来获取文件的名称。
例如,当给定输入路径时/home/parent/child/filename
我想得到filename
我努力了:
awk -F "/" '{print $5}' input
效果很好。
然而,我正在硬编码$5
如果我的输入具有以下结构,这将是不正确的:
/home/parent/child1/child2/filename
因此,通用解决方案需要始终采用last字段(这将是文件名)。
有没有一种简单的方法可以使用 awk substr 函数来做到这一点?
使用以下事实:awk
根据您可以定义的字段分隔符分割字段中的行。因此,将字段分隔符定义为/
你可以说:
awk -F "/" '{print $NF}' input
as NF
指当前记录的字段数,打印$NF
表示打印最后一张。
所以给定一个这样的文件:
/home/parent/child1/child2/child3/filename
/home/parent/child1/child2/filename
/home/parent/child1/filename
这将是输出:
$ awk -F"/" '{print $NF}' file
filename
filename
filename
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)