Sådan Udtrækkes Kun JPEG-Billeder fra et Tar-Arkiv Uden Fejlmeddelelser

Hvordan kan der udtrækkes kun jpeg-billeder fra et arkiv, når kommandoen "tar -xf MyTar.tar --wildcard *.jpg" giver en fejlmeddelelse om, at "--wildcard" er tvetydig?

Hvis "--wildcard" er tvetydig ved udtrækning af JPEG-billeder fra et tar-arkiv, kan du bruge kommandoer som "tar -tf MyTar.tar | grep '\.jpg$' | xargs tar -xf MyTar.tar" eller "tar --wildcards -xf MyTar.tar '*.jpg'" for at løse problemet.

Sådan udtrækkes kun JPEG-billeder fra et arkiv, når kommandoen "tar -xf MyTar.tar --wildcard *.jpg" giver en fejlmeddelelse om, at "--wildcard" er tvetydig

Hvis du får en fejlmeddelelse om, at "--wildcard" er tvetydig, når du forsøger at udtrække kun JPEG-billeder fra et tar-arkiv, kan du prøve følgende metoder:

1. Brug find og tar sammen

Du kan bruge find kommandoen til at finde alle JPEG-filer i arkivet og derefter udtrække dem med tar. Her er et eksempel:

tar -tf MyTar.tar | grep '\.jpg$' | xargs tar -xf MyTar.tar

2. Brug en kombination af tar og grep

En anden metode er at kombinere tar og grep for at filtrere JPEG-filerne og derefter udtrække dem:

tar -tf MyTar.tar | grep '\.jpg$' | xargs -I {} tar -xf MyTar.tar {}

3. Brug --wildcards uden tvetydighed

Hvis du stadig ønsker at bruge --wildcards, kan du sikre dig, at du bruger den korrekt uden tvetydighed:

tar --wildcards -xf MyTar.tar '*.jpg'

4. Brug en midlertidig mappe

En anden tilgang er at udtrække hele arkivet til en midlertidig mappe og derefter flytte JPEG-filerne til den ønskede destination:


mkdir temp_extract
tar -xf MyTar.tar -C temp_extract
find temp_extract -name '*.jpg' -exec mv {} . \;
rm -r temp_extract

5. Brug bsdtar i stedet for GNU tar

Hvis du har adgang til bsdtar, kan du bruge det i stedet for GNU tar, da det har bedre understøttelse for wildcards:

bsdtar -xf MyTar.tar --include '*.jpg'

Ved at bruge en af disse metoder kan du effektivt udtrække kun JPEG-billeder fra dit tar-arkiv uden at støde på problemer med tvetydige wildcards.