폴더 내 모든 .tgz 파일을 찾은 다음 아카이브에 PDF, EPUB 및 MOBI 파일 만 추출 할 수 있습니다.tar로 파일을 추출하는 동안 와일드 카드로 OR 연산자를 사용하는 방법
find '/home/pi/Downloads/complete/' -type f -name "*.tgz"| while read i ; do tar -xvzf "$i" -C /home/pi/Downloads/complete/ebook/ --strip=1 --wildcards --no-anchored '*.pdf' '*.mobi' '*.epub'; done
이 코드 줄은 pdf, mobi 또는 epub 중 하나가 아카이브에있는 경우 완벽하게 작동합니다. 그러나이 코드를 사용하면 주어진 아카이브 내에 pdf/epub/mobi가 없을 때마다 아래와 같이 오류가 반환됩니다.
tar: *.pdf: Not found in archive
tar: *.mobi: Not found in archive
tar: Exiting with failure status due to previous errors
이 오류를 방지하는 방법. 다른 스크립트 언어에서 사용할 수있는 'OR'연산자를 여러 와일드 카드에 제공하는 방법이 있어야한다고 생각합니다.
이 http://unix.stackexchange.com 또는 http://superuser.com에 아마 더 주제에,하지만 난이 와일드 카드는 글로브 패턴처럼 작동하며,로 결합 될 수 있다고 생각 것 '--no-anchored \ *. {pdf, mobi, epub}'(그러나 아무 것도 없으면 여전히 오류를보고 할 수 있습니다.) –