디렉토리에 있는 모든 파일의 압축을 풀려고 합니다. 다양한 하위 디렉터리에 분산되어 있으므로 와일드카드만 사용할 수는 없습니다. 대신 다음을 사용합니다 find
.
find . -name "*.tar.gz" -print0 -execdir tar xvf {} \;
작동합니다. 그러나 나는 --skip-old-files
.
find . -name "*.tar.gz" -print0 -execdir tar xvf --skip-old-files {} \;
을 추가하면 --skip-old-files
각 파일에 대해 오류가 발생합니다.
./path/to/file.tar.gztar: --skip-old-files: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
오류 메시지가 나타나는 이유는 무엇입니까? 내가 보지 못한 작은 버그가 있을 것입니다.
답변1
f
해당 인수를 다음 명령줄 인수로 예상합니다.
tar xvf --skip-old-files {}
즉 --skip-old-files
, 따라서 옵션이 아닌 읽을 파일로 해석됩니다.
사용
tar xvf {} --skip-old-files
대신에.