한 디렉터리에 있는 여러 파일의 압축을 풉니다.

한 디렉터리에 있는 여러 파일의 압축을 풉니다.

디렉터리에 여러 개의 .tar 파일이 있습니다. 모두 추출하려고 합니다.

다음 명령은 유효합니다

for a in $(ls -1 *.tar); do tar -xvf $a; done

그러나 다음 명령을 실행하려고 하면 모든 파일 이름이 인쇄되지만 아무 작업도 수행되지 않습니다. .tar 파일은 추출되지 않습니다.

% tar -xvf *.tar
Solarized-Dark-Cyan-3.0.3.tar
Solarized-Dark-Green-3.0.3.tar
Solarized-Dark-Magenta-3.0.3.tar
Solarized-Dark-Orange-3.0.3.tar
Solarized-Dark-Red-3.0.3.tar
Solarized-Dark-Violet-3.0.3.tar

unzip '*.zip'여러 .zip 파일에서 작동하기 때문에 이런 일이 발생하는 이유는 무엇입니까 ?

답변1

unzip-style 매개변수가 처리되지만 '*.zip'처리 tar되지는 않습니다. 타르볼을 추출할 수 있는 이 기능을 갖춘 아카이브 추출기가 있을 수 있지만 저는 아무것도 모릅니다.

다음을 사용 하지 말아야 합니다 ls.

for a in *.tar; do tar -xvf "$a"; done

tar -xvf *.tar일반적으로 아무 작업도 수행하지 않는 첫 번째 타르볼에서 두 번째 및 추가 타르볼을 추출해 보십시오.

관련 정보