パスを順次分割[閉じる]

パスを順次分割[閉じる]

このように道を分かなければなりません。

/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 |

データと要件に応じて適切に選択して変更する必要があります。

関連情報