Pagina 1 di 1

Decompressione di più files

Inviato: sab 31 dic 2005, 14:16
da touchstyle
Qual'è la sintassi da usare per decomprimere più archivi .bz2 con un solo comando?
Usando :

Codice: Seleziona tutto

 tar xjvf *
Mi elenca i files segnalandomi che non li trova nell'archivio.
Potrei risolvere con uno scriptino bash, ma se deve esserci una sintassi...
Suggerimenti?

Grazie,
Touch.

(PS: Mi serve per decomprimere tutti i files di Gnome 2.12 trovato su LXP.)[/code]

Inviato: sab 31 dic 2005, 14:32
da gallows
Io userei un ciclo for:

Codice: Seleziona tutto

for i in *; do tar xvjf $i; done

Inviato: dom 1 gen 2006, 14:26
da touchstyle
Si infatti ho risolto così.
Mi sembra strano che un comando così non accetti caratteri jolly. D'altra parte la sua origine è legata alle unità a nastro, quindi nasce con uno scopo un po' diverso...

Grazie,
Touch.

Inviato: dom 1 gen 2006, 16:29
da Eurialo
touchstyle ha scritto:Si infatti ho risolto così.
Mi sembra strano che un comando così non accetti caratteri jolly. D'altra parte la sua origine è legata alle unità a nastro, quindi nasce con uno scopo un po' diverso...

Grazie,
Touch.
i "caratteri jolly" non li riconosce nessun programma, per il semplice fatto che vengono esplosi dalla shell... quindi e' come se tu passasi N parametri a tar, dove N e' il numero dei file nella directory; dal momento che la sintassi di tar e' un po' lunghetta, ti cito un esempio preso dalla pagina di manuale
man tar ha scritto: tar -xzf foo.tar.gz blah.txt
extract the file blah.txt from foo.tar.bz2
quindi, in quel modo, tu cercavi di estrarre N-1 file dal file numero 1!!

ciao!

Inviato: dom 1 gen 2006, 18:35
da twister

Codice: Seleziona tutto

i "caratteri jolly" non li riconosce nessun programma
Perchè nessuno? A me pare che invece molti lo riconoscono
rm, mv, ls tanto per citarne tre

Inviato: dom 1 gen 2006, 18:55
da Paoletta
twister ha scritto:

Codice: Seleziona tutto

i "caratteri jolly" non li riconosce nessun programma
Perchè nessuno? A me pare che invece molti lo riconoscono
rm, mv, ls tanto per citarne tre
no twister, ha ragione Eurialo: è la shell ad esplodere i metacaratteri utilizzati con quei tre comandi; prima che un comando venga eseguito la shell si occupa di questo (e non solo), poi passa al comando in questione i risultati di questa esplosione; infatti quando vuoi che un carattere facente parte dell'insieme dei caratteri jolly venga preso sul serio da uno di quei comandi, lo devi quotare per impedire che venga espanso dalla shell.
Tutto questo però non vuol dire (come sostiene erroneamente Eurialo) che non ci siano comandi che non riconoscono caratteri jolly: grep e find sono due esempi.
Per ulteriori delucidazioni: man bash :wink:

Inviato: dom 1 gen 2006, 19:06
da twister
Beh detto cosi era fourviante, la spiegazione è piu che esaustiva, ma l'affermazione non lo era molto, per quello son caduto in errore :P

EDIT: Lo era... Non avevo letto bene dopo, si vede che lavorare di primo gennaio fa male :(

Storia: COMMAND.COM e sh

Inviato: dom 1 gen 2006, 21:47
da targzeta
Colgo l'occasione per raccontare che la questione sui caratteri jolly è uno dei punti di differenza tra Microsoft e Linux.
L'interprete dei comandi DOS il COMMAND.COM non interpretava i caratteri jolli (dico interpretava perchè ora non so cosa fa), quindi ogni programma che scrivevi per DOS doveva essere ingrado (se si volevano accettare) di espanderli lui stesso.
I programmatori Linux, che da sempre sono più svegli, hanno portato il problema dei caratteri jolly a monte. Perchè ogni programma deve esparderli? Facciamo un programma che li espanda una volta per tutti e non se ne parla più. Quindi se scrivi un programma sotto linux non hai bisogno di preoccuparti dei caratteri jolly perchè sarà la shella ad espanderli per te. Una preoccupazione in meno!!!
Questo però non vuol dire che non puoi usare i caratteri jolly sotto linux nei tuoi programmi, infatti come dice giustamente
Paoletta se un programma, come ad esempio find, vuole far
si che accetti i caratteri jolly, basta che vengano quotati
per evitare l'interpretazione da parte della shell.
Ancora una volta, a mio avviso, Linux batte DOS.

Buona anno a tutti
Spina

Inviato: dom 1 gen 2006, 22:50
da Eurialo
Paoletta ha scritto: Tutto questo però non vuol dire (come sostiene erroneamente Eurialo) che non ci siano comandi che non riconoscono caratteri jolly: grep e find sono due esempi.
giustissimo.. ci sono dei programmi in cui i caratteri come "*" e "?" sono parte integrante degli argomenti e non devono essere esplosi (es. programmi che accettano regexp, come grep)

Storia: grep

Inviato: dom 1 gen 2006, 23:18
da targzeta
Eurialo ha scritto:(es. programmi che accettano regexp, come grep)
Eheh, oggi mi sento in vena di storie, sarà che è il primo dell'anno?

Sapete da cosa deriva il nome grep?
Le espressioni regolari o regular expressions vengono di solito abbreviate con re.
Se quanlcuno di voi ha mai usato ed, come fate a visualizzare tutte le occorrenze di una re (quello che
fa grep senza opzioni varie)?
Ebbene, il comando è proprio:
g/re/p,
ovvero global/regular expression/print. Da cui il nome al famosissimo comando!!!

Spina

Inviato: lun 2 gen 2006, 13:17
da Paoletta
bellissime 'ste storie!

Inviato: lun 2 gen 2006, 16:47
da IceSlack
e poi c'era il pinugino che confezionava gli 1010100110 :shock: :lol: ma lol sti nomi lamer .

Inviato: lun 2 gen 2006, 18:48
da gallows
Grande spina! ;)
IceSlack ha scritto:e poi c'era il pinugino che confezionava gli 1010100110 :shock: :lol: ma lol sti nomi lamer .
:shock: :?: