按顺序分割路径

按顺序分割路径

我需要以这种方式分割一条路径

/sandy/user1/user2/abc.txt
/sandy/user1/user2
/sandy/user1
/sandy
/

答案1

不完全确定你在问什么,但这是一个黑暗的镜头:

path=/sandy/user1/user2/abc.txt
while [ "$path" ]; do
    printf '%s ' "$path"
    path=${path%/*} # remove trailing path component
done
echo /

输出:/sandy/user1/user2/abc.txt /sandy/user1/user2 /sandy/user1 /sandy /

答案2

不确定它是否是任何路径或是否是给定路径

在Linux中,它是这样工作的

如果文件路径在 $FILE_PATH 中

回显 $FILE_PATH |转 | sed 's/[^/]*///' | rev 将给出 /sandy/user1/user2

回显 $FILE_PATH |转 |切 -d '/' -f 3,4 | rev 会给 sandy/user1

您必须根据您的数据和需求进行相应的选择和修改。

相关内容