【发布时间】:2020-08-26 22:33:31
【问题描述】:
我有这个字符串:
/sandbox/US_MARKETING/COMMON_DATA/BAU/FILES/2020/08/dnb_mi_081420.gz
在不知道其中有多少个“/”的情况下,我希望能够仅将文件读入变量中。
我希望能够从行中的最后一个“/”开始搜索并找到文件名“dnb_mi_081420.gz”。
我想说的是“找到字符串中的最后一个'/',然后将后面的子字符串读取到最后并存储它。
所以我知道它会是这样的:
filename=substr(<position of the last'/'>,<position of first character in last string>)
那么如何找到最后一个'/'的索引位置我猜是我要找的。p>
有人知道那是什么吗?
我还尝试使用 basename,但不幸的是,我正在通过“hdfs dfs”来访问 hadoop shell。因此,一些非标准的 Linux 命令(如 basename)不在该词汇表中。我基本上必须将整个字符串存储在一个变量中并对该变量值进行操作。
【问题讨论】:
-
这是什么外壳?