bash에서 파일 확장자를 어떻게 얻습니까? 내가 시도한 것은 다음과 같습니다.
filename=`basename $filepath`
fileext=${filename##*.}
그렇게 bz2
하면 경로에서 확장을 얻을 수 /dir/subdir/file.bz2
있지만 경로 에 문제가 /dir/subdir/file-1.0.tar.bz2
있습니다.
가능하다면 외부 프로그램없이 bash 만 사용하는 솔루션을 선호합니다.
내 질문을 분명히하기 위해의 단일 명령으로 주어진 아카이브를 추출하는 bash 스크립트를 작성했습니다 extract path_to_file
. 그것의 압축을 보거나 유형을 보관하여 스크립트에 의해 결정되는 방법 파일을 추출하는 방법, 그게 내가 확장을받을 경우 .bz2로 등 I 예를 들어,이 문자열 조작을 포함해야한다 생각에 .gz, .tar.gz를 할 수 .gz
그때 .tar
앞에 문자열이 있는지 확인 .gz
해야합니다 .tar.gz
. 확장명은이어야합니다 .
.tar.bz2