我需要以这种方式分割一条路径
/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
您必须根据您的数据和需求进行相应的选择和修改。