이렇게 길을 나누어야 해요
/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 |
데이터와 요구 사항에 따라 적절하게 선택하고 수정해야 합니다.