programing

경로에서 디렉터리 추출

elseif 2023. 4. 29. 08:47

경로에서 디렉터리 추출

스크립트에서 작업 중인 파일의 디렉터리가 필요합니다.예를 들어 파일="stuff/backup/file.zip"입니다.변수에서 "stuff/backup/" 문자열을 가져오는 방법이 필요합니다.$file.

dirname $file

당신이 찾고 있는 것입니다.

dirname $file

will 출력

stuff/backup

와 정반대인basename:

basename $file

출력할 것입니다.

file.zip

사용.${file%/*}Urvin/Lu가 제안한 것처럼외부 명령에 의존하지 않기 때문에 FFy가 기술적으로 더 좋습니다.동일한 방법으로 기본 이름을 가져오려면${file##*/}필요한 경우가 아니면 외부 명령을 사용할 필요가 없습니다.

file="/stuff/backup/file.zip"
filename=${1##*/}     # file.zip
directory=${1%/*}     # /stuff/backup

또한 이러한 방식으로 POSIX를 완전히 준수합니다.도움이 되길 바랍니다! :-)

포겟팅directorypath에서filepath:

file="stuff/backup/file.zip"
dirPath=${file%/*}/
echo ${dirPath}

간단히 사용$ dirname /home/~username/stuff/backup/file.zip

돌아올 것입니다./home/~username/stuff/backup/

언급URL : https://stackoverflow.com/questions/6509650/extract-directory-from-path