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

Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Dopo quasi un mese di utilizzo quotidiano e un viaggio medio-lungo in autostrada, raccontiamo pregi e limiti della Geely EX5: comfort premium, batteria LFP da 60,22 kWh, autonomia fino a 430 km e un prezzo che parte da 38.900 €
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
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


Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
CXMT sfida i sudcoreani: avviata la prod...
MapQuest non rispetta l'ordine esecutivo...
I robot diventano più umani e noi...
Naughty Dog conclude le riprese in motio...
Honor prepara MagicOS 11 con una nuova f...
Google rilascia Android 17 QPR2 Beta 4 s...
Bonus da 800 milioni per il CEO di Arm? ...
Steam Deck supera un nuovo traguardo: ol...
Apple pronta ad intervenire sul catalogo...
Adaptive Intelligence, la soluzione di C...
Dyson CameraJet, lo spazzolino da denti ...
Doom non gira su questo circuito, ma la ...
Qualcomm aumenta i prezzi dei chip da se...
Google Pixel 11 Pro: l'audio dei video s...
Apple: l'ex ingegnere passato a OpenAI t...
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: 12:46.


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