Essayer de décompresser un fichier, 'Filename not matched' lorsque le répertoire existe


32

En essayant de décompresser un fichier nommé Joomla_3.0.3-Stable-Full_Package.zip dans le répertoire nommé joomla, j'obtiens un nom de fichier qui ne correspond pas. Pourquoi donc?

[root @ Feddy Joomla] # unzip -Z Joomla_3.0.3-Stable-Full_Package.zip / opt / lampp / htdocs / joomla /
Archive: Joomla_3.0.3-Stable-Full_Package.zip
attention: nom de fichier non apparié: / opt / lampp / htdocs / joomla /

Voici la copie d'écran du répertoire:

joomla screen cast

(Le répertoire joomla est vide)

Réponses:


36

Vous pouvez également l'obtenir en essayant de spécifier les fichiers à décompresser et en utilisant un caractère générique. Par exemple:

unzip -o somearchive.zip somedir/*

Ce qui peut arriver, c'est que bash se développe somedir/*en un répertoire existant et les fichiers qu'il contient. Cette liste est ensuite passée à décompresser et il essaie de trouver ces fichiers dans le fichier zip.

Pour éviter ce comportement, échappez simplement *à ceci:

unzip -o somearchive.zip somedir/\*

Ou, mettez les fichiers à extraire entre guillemets:

unzip -o somearchive.zip "somedir/*"

1
Quel est le drapeau -o?
Amalgovinus

1
L'option -o consiste à remplacer les fichiers existants sans invite.
sjbotha

Vous pouvez également obtenir l'erreur «Filename not matched» lorsque votre -odrapeau est au mauvais endroit: unzip -o ARCHIVE_NAME.zipest bon pendant qu'il unzip ARCHIVE_NAME.zip -oest mauvais
Jaymon

Downvoting parce que, bien que cette réponse fasse de véritables déclarations, ils ne traitent pas le problème du PO, ce qui est un malentendu sur les arguments à décompresser.
Ernest Friedman-Hill

J'ai eu cette erreur, j'ai trouvé cette page et cette réponse a résolu mon problème.
Derek Bennett

16

L'argument du nom de fichier après le nom de l'archive spécifie un fichier à extraire. Utilisez -dpour spécifier le répertoire cible:

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
    ...
    -d  extract files into exdir

De plus, -Zest utilisé pour interroger l'archive, pas pour extraire.


ne vous a pas. Pouvez-vous s'il vous plaît écrire la commande
Suhail Gupta

1
@SuhailGupta:, unzip -d /opt/lampp/htdocs/joomla/ Joomla_3.0.3-Stable-Full_Package.zipc'est-à-dire supprimer -Z, ajouter -d.
choroba

2

Cette commande exacte a fonctionné pour moi:
unzip -o archive.zip -d /Users/current/Dev/tools/

Remarquez la combinaison d'options -o& -d(destination / chemin d'inflation).


travaillé pour moi aussi.
Manikandan Arunachalam

2

Vous obtiendrez également cette erreur si vous essayez de décompresser un répertoire entier de zips avec une seule commande, comme:

unzip *.zip

J'ai trouvé la solution sur un autre site. Le *symbole doit être échappé, vous devez donc l'exécuter à la place:

unzip \*.zip

au lieu.


oh .. on dirait que les symboles d'échappement ne sont pas autorisés mais je suis sûr que tout le monde sait ce que c'est.
dfasdfg

Cela n'a aucun sens pour moi, du moins pas si vous parlez d'Unix / Linux. (Cela peut être logique si vous parlez de Windows, mais cette question concerne Fedora Linux.) Et, dans la mesure où cela a du sens (potentiellement), cela semble être un doublon de la réponse de  sjbotha . Pouvez-vous expliquer ce que vous voulez dire plus clairement?
G-Man dit «Réinstalle Monica»

je parlais de la commande de décompression que j'ai utilisée sur un système Linux. j'avais un répertoire avec de nombreux fichiers zip et j'ai essayé de les extraire tous avec unzip * .zip et j'ai obtenu cette erreur parce que le * n'était pas échappé. vous avez peut-être aussi raison de ne pas appartenir ici car l'op a juste essayé d'extraire un fichier zip et j'essayais d'en extraire plusieurs avec une seule commande.
dfasdfg

1

Essayer de décompresser un fichier zippé avec un nouveau nom déclenchera l'exception «Filename not matches». Pour contourner ce problème, déplacez le fichier zip vers le répertoire de destination

mv the_file.zip somedir/

accédez au répertoire de destination

cd somedir/

à partir de là, exécutez la commande de décompression sans l'argument de nom de fichier de destination

unzip the_file.zip

Tout fonctionnera bien.

dans ce cas, les commandes doivent être

[root@Feddy Joomla]# mv Joomla_3.0.3-Stable-Full_Package.zip /opt/lampp/htdocs/joomla/
[root@Feddy Joomla]# cd /opt/lampp/htdocs/joomla/
[root@Feddy Joomla]/opt/lampp/htdocs/joomla# unzip Joomla_3.0.3-Stable-Full_Package.zip
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.