tar 파일과 동일한 이름의 디렉터리를 생성하여 여러 tar 파일을 추출하려고 합니다. 저는 centos를 사용하고 있고 tar 버전은 1.26입니다. 안타깝게도 사용자 제한으로 인해 tar 버전을 1.29 이상으로 업데이트할 수 없습니다. 따라서 아래 코드 조각을 사용할 수 없습니다.
-exec tar xvf {} --one-top-level \;
작업 코드를 .ZIP 형식으로 복사하려고 시도했지만 성공하지 못했습니다.
zip 파일의 작업 코드 -
for file in `ls *.zip`; do unzip $file -d `echo $file | cut -d . -f 1`; done
tar 파일의 코드 복사 -
for f in 'ls *.tar'; do tar xvf $f -C 'echo $f|cut -d . -f 1'; done
이 코드는 "tar xvf $f -C"를 전달할 때까지 작동합니다. 파일 이름이 올바르게 인쇄됩니다.
for f in 'ls *.tar'; do echo $f|cut -d . -f 1; done
다음과 같은 오류가 발생합니다 -
$ for f in 'ls *.tar'; do tar xvf $f -C 'echo $f|cut -d . -f 1'; done
tar: ls: 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다
tar: 복구할 수 없는 오류: 지금 종료하세요
감사해요,
판카이