Come comprimere un file chiamato "-"


3

Posso decomprimere un file zip contiene un file chiamato "-"

Ma sembra che "-" sia un carattere magico nel comando zip ...

Come posso comprimere questo file con il comando zip?


L'escape potrebbe funzionare (\ -), sebbene ci siano molti altri buoni esempi di seguito.
J. Polfer,

Usare \ - funzionerà solo se il programma stesso lo supporta: questo è molto probabilmente non è il caso e non farà quello che vuoi
Matthew Scharley

Risposte:


9

uso zip ./-

- significa: leggi da stdin (input standard)


+1, ma non credo sia un alias per stdinin caso di zip.

ok, potrebbe anche essere l'inizio di un'opzione come -f o qualcosa del genere. non ho una macchina linux a portata di mano per testare / verificare. tuttavia, la domanda era come comprimere questo file, non perché non funzionasse :)
knittl

Certo, ecco perché +1 ;-)

:)
knittl

1
Attento alla parola "alias" perché esiste un costrutto shell con quel nome. Utilizzando -il significato di "lettura dall'input standard" è un comune unix riga di comando argomento linguaggio, ma è non tradotto come tale dal guscio.
dmckee,

2

Sul mio professore Uni ha detto che quando abbiamo uno strano nome di file dovremmo usare tutto il percorso del file;) esempio:

~/-

/home/mariusz/Desktop/-

0

La risposta di @ knittl dovrebbe funzionare, ma penso che la risposta più corretta sia:

zip ... -- -

Dove la pianura --dice che il resto dell'input sono nomi di file. La maggior parte dei comandi di Linux lo supporta, ma non sono sicuro che se zip lo faccia o meno.


2
Anch'io l'ho pensato e volevo dare una risposta come questa, ma ci ho provato zipe non ha funzionato. IIRC, zip ha una propria elaborazione di opzioni e non utilizza getopt.

Per vergogna. Vabbè, questo sarà probabilmente utile a qualcun altro che cerca di usare un comando diverso, quindi lo lascerò comunque qui.
Matthew Scharley,

Sì, è in qualche modo divertente che sia tu che Knittl avete formulato ipotesi perfettamente sensate alle quali non si applicano zip.

1
L'opzione "-" è accettata da molte utility GNU e alcune altre su alcune piattaforme. Tuttavia, NON è il metodo raccomandato. Prefisso - * nomi di file con un percorso relativo o assoluto, che utilizza canonicamente ./-* è la risposta più portatile. Ritengo sia la domanda di screening tecnico più basilare per tali posizioni pratiche di amministratore di sistema. (Solo credito parziale per - risposte, credito completo per ./, ed extra per ridere e sottolineare che si tratta di una vecchia FAQ --- 0 punti per qualsiasi tentativo di quotazione o fuga con barra rovesciata; quelli sono PERICOLOSI)!
Jim Dennis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.