다음 gzip 파일이 있습니다: hdf5-1.8.18.tar.gz
. 다음을 사용하여 파일의 압축을 풀 때:
gunzip < hdf5-1.8.18.tar.gz | tar xf -
생성된 다음 디렉토리에 추출됩니다. hdf5-1.8.18
. "-" 때문에 디렉터리 사용이 그다지 편리하지 않아서 다음 명령을 사용하여 디렉터리 이름을 변경했습니다.
mv hdf5-1.8.18 hdf5
하지만 이 명령을 사용하면 "1.8.18" 버전 정보가 손실되므로 다음과 같은 추악한 해결 방법을 사용할 수 있습니다.
mkdir hdf5
mv hdf5-1.8.18 hdf5/1.8.18
나는 이 솔루션이 보기 흉하다고 생각하므로 이 작업을 수행하는 더 직접적인 방법이 없는지 궁금합니다. 감사합니다!
답변1
당신이 보고 싶어할 수도 있는 -C
옵션 tar
.
tar zxf hdf5-1.8.18.tar.gz -C hdf
압축을 풀고 압축을 풀고 hdf/
디렉토리 아래에 디렉토리를 배치합니다.
답변2
첫째, 질문을 조금 바꾸어 말하면 더 쉬울 것입니다. 일종의 스크립트로 쉽게 해결할 수 있을 것 같습니다. 다음은 BASH 스크립트에서 작동합니다. 파일 이름을 첫 번째 인수로 사용하여 실행하십시오. 예를 들어 "./change_name_script.sh hdf5-1.8.18.tar.gz"를 입력하면 원하는 방식으로 작동합니다.
#!/bin/bash
filename=$1
gunzip < $filename | tar xf -
move_filename=$(echo $filename | sed -r 's/.tar.gz$//')
first_part=$(echo "$move_filename" | sed -r 's/-.*$//')
second_part=$(echo "$move_filename" | sed -r 's/^.*-//')
mkdir $first_part
mv $move_filename $first_part/$second_part