디렉터리에 여러 개의 .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
일반적으로 아무 작업도 수행하지 않는 첫 번째 타르볼에서 두 번째 및 추가 타르볼을 추출해 보십시오.