Ho messo insieme uno script per eseguire alcune operazioni sui file per me. Sto usando l'operatore jolly *per applicare le funzioni a tutti i file di un tipo, ma c'è una cosa che non capisco. Posso unziptutti i file in una cartella come questa
unzip "*".zip
Tuttavia, per rimuovere tutti i file zip in seguito, devo farlo
rm *.zip
Cioè, non vuole le virgolette. La decompressione, d'altra parte, non funziona se gli do solo il * (mi avvisa che "i file non sono stati abbinati").
Perché è diverso? A me sembra esattamente la stessa operazione. O sto usando il jolly in modo errato?
Le introduzioni al jolly in Unix non vanno proprio in questo, e non sono riuscito a trovare nulla nei documenti rmo zip.
Sto usando il terminale su un Mac (Yosemite).
unzipapplica il glob al contenuto di un archivio; non puoi ottenerli da bash con un carattere jolly. (Avresti bisogno di `` for f in unzip -l archive.zip; do ... done`)
unzipaccettare globs da abbinare all'interno di un singolo file zip. Ma questo è diverso; In realtà ho provato unzip '*.zip'in una directory con più file zip ed estrae tutti i file da tutte le zip. Come ho detto, super-strano. tarnon ha alcuna modalità di funzionamento del genere.
unzippoterlo fare senza il normalefor f in *.zip;do...doneloop shell. Un'interfaccia utente della riga di comando così bizzarra, non unix-like.