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

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-03-2004, 16: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, 17: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, 17: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, 17: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, 17: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, 17: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, 18: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, 18: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, 18: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, 19: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


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
USA, incriminati tre ingegneri della Sil...
Xbox: Phil Spencer lascia dopo 38 anni, ...
Cuffie e sostanze chimiche: uno studio e...
Terremoto sui dazi USA: la Corte Suprema...
Arianespace potrebbe lanciare il primo r...
Google Pixel 10a disponibile al prezzo m...
Microsoft Copilot nei guai: email riserv...
AOC a 399€ su Amazon: QD-OLED 240 Hz e 0...
La Cina ha recuperato dal mare il primo ...
Boeing CST-100 Starliner: la NASA rende ...
hiop e TaDa uniscono le forze per trasfo...
Thermal Grizzly mostra il Ryzen 7 9850X3...
AMD Ryzen 'Olympic Ridge' Zen 6 per desk...
Donald Trump renderà pubbliche in...
Prezzo mai visto da mesi: ECOVACS DEEBOT...
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: 09:28.


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