Próbuję utworzyć skrypt, aby wyodrębnić tylko zdjęcia JPEG z archiwum zawierającego wiele rodzajów plików.
Aby to zrobić, próbowałem użyć:
tar -xf MyTar.tar *.jpg
ale nie udało się (* .jpg nie znaleziono) i sugeruje, żebym użył „--wildcard”. Więc próbowałem
tar -xf MyTar.tar --wildcard *.jpg
Zrobiłem to, ale potem ten sam błąd i inne ostrzeżenie mówi mi, że opcja „--wildcard” jest niejednoznaczna.
Przeglądałem strony podręcznika systemu tar, ale nie znalazłem pojęcia o problemie.
tar --version
Odpowiedzi:
W końcu znalazłem odpowiedź po dobrej przerwie. Opcja jest wieloznaczne s , liczba mnoga ...
Więc polecenie
zrobiłem dokładnie to, czego potrzebowałem.
źródło
Umieść cudzysłowy w ten
"*.jpg"
sposób, aby powłoka nie próbowała go rozwinąć, a zamiast tego przekaże go wprost do tar. Chcesz, aby tar oceniał symbol wieloznaczny, a nie powłokę, a cytaty to robią.źródło
W przypadku niektórych starszych wersji tar, z pliku „man” wyodrębnia się :
źródło