경로를 순차적으로 분할 [닫기]

경로를 순차적으로 분할 [닫기]

이렇게 길을 나누어야 해요

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

데이터와 요구 사항에 따라 적절하게 선택하고 수정해야 합니다.

관련 정보