为了账号安全,请及时绑定邮箱和手机立即绑定

shell中分割字符串之后怎么取得最后一个东西的值?

shell中分割字符串之后怎么取得最后一个东西的值?

天涯尽头无女友 2019-04-11 06:06:47
shell中分割字符串之后怎么取得最后一个东西的值?如果可以的话,怎么将分割后的结果保存到一个数组中?比方说,我有一个路径path="/home/work/hdfs/diff",我想用反斜杠"/"分割字符串,取得最后一个目录的名字diff,我应该怎么做?首先,我是不知道这个目录里面有几个"/"的,也就是说,我不知道分割完之后“diff”是在第几列上。否则的话一个awk命令直接搞定了。不知道我说明白了没,请shell达人帮忙解答一下哈~
查看完整描述

3 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

有很多命令都可以实现你要求的功能,比如

awk:

echo "1:3:5" | awk -F ":" '{print $NF}'

sed:

echo "1:3:5" | sed 's/.*:\([^:]*\)$/\1/'

查看完整回答
反对 回复 2019-04-12
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

这个问题很简单呀,直接使用命令basename获取即可。例如path="/home/work/hdfs/diff"获取diff的命令为:
basename $path
如果想获取/home/work/hdfs这部分内容,可使用命令:
basedir $path

查看完整回答
反对 回复 2019-04-12
  • 3 回答
  • 0 关注
  • 1680 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信