![한 디렉터리에 있는 여러 파일의 압축을 풉니다.](https://linux55.com/image/219625/%ED%95%9C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%20%EC%9E%88%EB%8A%94%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%95%95%EC%B6%95%EC%9D%84%20%ED%92%89%EB%8B%88%EB%8B%A4..png)
디렉터리에 여러 개의 .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
일반적으로 아무 작업도 수행하지 않는 첫 번째 타르볼에서 두 번째 및 추가 타르볼을 추출해 보십시오.