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

shell中分割字符串之后怎么取得最后一个东西的值?如果可以的话,怎么将分割后的结果保存到一个数组中?

比方说,我有一个路径path="/home/work/hdfs/diff",我想用反斜杠"/"分割字符串,取得最后一个目录的名字diff,我应该怎么做?首先,我是不知道这个目录里面有几个"/"的,也就是说,我不知道分割完之后“diff”是在第几列上。否则的话一个awk命令直接搞定了。
不知道我说明白了没,请shell达人帮忙解答一下哈~


天涯尽头无女友
浏览 1619回答 3
3回答

翻阅古今

有很多命令都可以实现你要求的功能,比如awk:echo "1:3:5" | awk -F ":" '{print $NF}'sed:echo "1:3:5" | sed 's/.*:\([^:]*\)$/\1/'

30秒到达战场

这个问题很简单呀,直接使用命令basename获取即可。例如path="/home/work/hdfs/diff"获取diff的命令为:basename $path如果想获取/home/work/hdfs这部分内容,可使用命令:basedir $path
打开App,查看更多内容
随时随地看视频慕课网APP