나는 파일 작업을 수행하는 스크립트를 작성했다. 와일드 카드 연산자 *
를 사용하여 유형의 모든 파일에 함수를 적용하고 있지만 얻을 수없는 것이 있습니다. unzip
폴더에있는 모든 파일을 이와 같이 할 수 있습니다
unzip "*".zip
그러나 나중에 모든 zip 파일을 제거하려면
rm *.zip
즉, 따옴표를 원하지 않습니다. 반면에 압축 해제는 * 만 주면 작동하지 않습니다 ( "파일이 일치하지 않는다"는 경고를 표시합니다).
왜 다른가요? 나에게 이것은 정확히 동일한 작업처럼 보입니다. 아니면 와일드 카드를 잘못 사용하고 있습니까?
유닉스 의 와일드 카드 소개 는 실제로 이것으로 들어 가지 않으며, rm
or zip
docs 에서 아무것도 찾을 수 없습니다 .
Mac (Yosemite)에서 터미널을 사용하고 있습니다.
unzip
글로브를 아카이브의 내용에 적용합니다. 와일드 카드를 사용하여 bash에서 가져올 수 없습니다. (당신의 F에 대한```해야 할 것 unzip -l archive.zip
,하지 ... done`)
unzip
단일 zip 파일 내부에서 globs를 허용하는 것에 대해 알고있었습니다 . 그러나 이것은 다릅니다. 실제로 unzip '*.zip'
여러 개의 zip 파일이있는 디렉토리에서 시도 했으며 모든 zip에서 모든 파일을 추출합니다. 내가 말했듯이, 매우 이상합니다. tar
그런 작동 모드가 없습니다.
unzip
정상적인for f in *.zip;do...done
쉘 루프 가 없으면 이 작업을 수행 할 수 없었습니다 . 유닉스와 같은 이상한 명령 행 UI.