다른 압축(tgz) 파일이 있는데 압축 파일 이름으로 디렉터리 이름을 만들고 압축 파일을 해당 폴더로 이동한 다음 압축을 풀고 싶습니다.
예:-
압축파일이 2개 있는데,
email_raw_data_latest-2017-08-01-22-00-01.tgz
email_raw_data_latest-2017-08-02-22-00-01.tgz
email_raw_data_latest-2017-08-03-22-00-01.tgz
이렇게 첫 번째 디렉토리를 만들고 싶습니다.
email_raw_data_latest-2017-08-01-22-00-01
email_raw_data_latest-2017-08-02-22-00-01
email_raw_data_latest-2017-08-03-22-00-01
압축된 파일을 적절한 폴더로 이동하고 압축을 풀어보세요. 막혔어요. 도와주세요.
답변1
GNU에는 tar 파일에 대한 작업을 수행하기 전에 디렉터리를 변경하는 (일명 ) 옵션이 tar
있습니다 . 이를 통해 다음과 같은 작업을 수행할 수 있습니다.-C
--directory
for t in *.tgz ; do
bn="$(basename "$t" .tgz)"
mkdir -p "$bn"
tar xfz "$t" -C "$bn"
mv "$t" "$bn"
done
답변2
$ tar -xf email_raw_data_latest-2017-08-01-22-00-01.tgz --one-top-level
$ tar -xf email_raw_data_latest-2017-08-02-22-00-01.tgz --one-top-level
$ tar -xf email_raw_data_latest-2017-08-03-22-00-01.tgz --one-top-level
--최상위 수준[=DIR]
모든 파일을 DIR로 추출하거나, 인수 없이 사용하는 경우 아카이브의 기본 이름(--auto-compress에서 인식하는 표준 압축 접미사 빼기)을 따라 이름이 지정된 하위 디렉토리에 추출합니다.