Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-03-2004, 15:55   #1
wireless
Senior Member
 
L'Avatar di wireless
 
Iscritto dal: Feb 2001
Messaggi: 824
script per eseguire lo stesso comando su ogni file f in una directory.

salve a tutti,
dato che devo scompattare parecchi files jar con delle librerie che mi interessano, onde evitare di scrivere una variabile d'ambiente classpath lunghissimo, volevo scrivere uno script che per ogni file f dentro la directory lib applicasse il comando jar -x f. Mi potete dare una mano, non ho idea di come fare (piuttosto: lo so che sono 3 righe di codice ma se mi metto pure a capire come funziona il linguaggio dello shell, ora, esco pazzo!)
grazie!!
__________________
Il Poeta assomiglia a questo principe // Dei nembi, che frequenta la tempesta // E ride dell'arciere; a lui, esiliato // Sulla terra, fra gli schiamazzi, le ali // Da gigante impediscono il cammino. (Baudelaire - l'albatro)
wireless è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 16:06   #2
Pardo
Senior Member
 
L'Avatar di Pardo
 
Iscritto dal: Dec 2000
Messaggi: 1187
find <percorso> -type f -name <nome> -exec <comando> \;

il percorso e` assoluto o relativo. X partire dalla directory corrente metti il punto .
( Di default prende anche tutti i file nelle subdir ma c'e` anche un parametro x farlo fermare a una certa profondita`. )

" -type f " significa un file normale. tipo d e` una directory, e poi ce n'e` alcuni altri per casi particolari (e` tutto nella manpage di find.)

Nel "-name" si usano gli asterischi come al solito o altri simboli vari.

all'interno del comando di -exec, il nome del file 'attuale' lo rappresenti con " {} "

la barra \ prima del ; finale e` necessaria x passarlo al find evitando l'interpretazione della shell ( ; sarebbe riservato come separatore fra piu` comandi in una riga )

esempio:
find . -type f -name *.txt -exec chmod 644 {} \;
...setta i permessi a 644 ai file txt presenti nella dir. corrente e tutte le subdir
Pardo è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 16:14   #3
lnessuno
Bannato
 
L'Avatar di lnessuno
 
Iscritto dal: Feb 2000
Città: The city of wasting disease
Messaggi: 7392
la butto li, non lo provo neanche... ma qualcosa del genere dovrebbe funzionare credo (almeno con zsh, con bash non saprei)



Codice:
for dir in *; cd $dir && for file in *; jar -x f $file; cd ..

boh... in bocca al lupo

(ovviamente devi eseguirlo dalla dir lib, poi lui in teoria va a cercarsi le varie directory e scompatta i file .jar...
lnessuno è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 16:23   #4
wireless
Senior Member
 
L'Avatar di wireless
 
Iscritto dal: Feb 2001
Messaggi: 824
Codice:
[wireless@pIII800 lib]$ find . -type f -name *.jar -exec jar -x {} \;
find: il percorso deve precedere l'espressione
Uso: find [percorso...] [espressione]
[wireless@pIII800 lib]$
non va....
cmq i file jar da scompattare sono tutti nella stessa directory
__________________
Il Poeta assomiglia a questo principe // Dei nembi, che frequenta la tempesta // E ride dell'arciere; a lui, esiliato // Sulla terra, fra gli schiamazzi, le ali // Da gigante impediscono il cammino. (Baudelaire - l'albatro)
wireless è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 16:31   #5
lnessuno
Bannato
 
L'Avatar di lnessuno
 
Iscritto dal: Feb 2000
Città: The city of wasting disease
Messaggi: 7392
Quote:
Originariamente inviato da wireless
cmq i file jar da scompattare sono tutti nella stessa directory


allora è facile, entra in quella directory e fai


for file in *; jar -x f $file;


(sempre usando zsh e non bash)
lnessuno è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 16:34   #6
wireless
Senior Member
 
L'Avatar di wireless
 
Iscritto dal: Feb 2001
Messaggi: 824
zsh? cos'è?
cmq l tuo comando non va bene perchè lo applica a tutti i file, anche a quelli che ci sono dentro i jar dopo averli scompattati, o sbaglio?
__________________
Il Poeta assomiglia a questo principe // Dei nembi, che frequenta la tempesta // E ride dell'arciere; a lui, esiliato // Sulla terra, fra gli schiamazzi, le ali // Da gigante impediscono il cammino. (Baudelaire - l'albatro)
wireless è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 17:27   #7
r.
Member
 
Iscritto dal: Jul 2003
Messaggi: 207
Correzione

Questo non funziona perche' la shell interpetra l'asterisco (va protetto):

no -> find . -type f -name *.jar -exec jar -x {} \;
si -> find . -type f -name "*.jar" -exec jar -x {} \;
__________________
-------------------------------------
Fletto i muscoli e sono nel vuoto
------------------------------------
r. è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 17:46   #8
Pardo
Senior Member
 
L'Avatar di Pardo
 
Iscritto dal: Dec 2000
Messaggi: 1187
non so perche` ma da me va senza virgolettare l'asterisco bho!
Pardo è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 17:57   #9
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
mi sa che io sono un pò più lamer degli altri
ma uso questo che mi sono fatto tempo fa con laiuto del forum.
è uno dei miei primi script, ma fà tutto quello che deve fare!
Codice:
ls *.jpg > /tmp/lista.txt
let counter=1
while read f1
do
	ext=.jpg
	mv -v  $f1 NOME_$counter$ext
	let counter=counter+1
done < /tmp/lista.txt
questo rinomina in sequenza tutti i file, ma basta cambiare il comando e il parametro dell'estensione che fà tutto quello che vuoi

ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2004, 18:26   #10
wireless
Senior Member
 
L'Avatar di wireless
 
Iscritto dal: Feb 2001
Messaggi: 824
eccolo, semplice semplice (grazie arpeda!):


for F in `ls *.jar`; do jar -xvf $F; done
__________________
Il Poeta assomiglia a questo principe // Dei nembi, che frequenta la tempesta // E ride dell'arciere; a lui, esiliato // Sulla terra, fra gli schiamazzi, le ali // Da gigante impediscono il cammino. (Baudelaire - l'albatro)
wireless è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
Almeno 64 GB di RAM per giocare? Il caso...
Gemini si integrerà con le auto e potrà ...
Addio a OxygenOS di OnePlus e alla Realm...
Intel conferma l'aumento dei prezzi su C...
In vendita Withings BodyFit, molto più d...
Inkterface: Steam Machine ospita un pann...
Stare seduti oltre 30 minuti di fila aum...
A Milano l'Italia ha firmato la sovranit...
Cos'è PeerTube, la piattaforma di...
In 12 articoli TOP c'è il meglio ...
La pirateria è l'unica tutela per...
Roomba Plus 516 Combo in offerta a 479€:...
ASUS ROG Strix G16 con RTX 5070 Ti super...
Google ammette il problema: la corsa all...
MOVA LiDAX Ultra 800 è un robot tagliaer...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:54.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v