このように道を分かなければなりません。
/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にある場合
echo $ FILE_PATH | sed 's/[^/]*///' | revは/sandy/user1/user2を提供します。
Echo $ FILE_PATH | cut -d '/' -f 3,4 |
データと要件に応じて適切に選択して変更する必要があります。