Home Chi sono Mappa del sito Contatti  
 
Java
Apache Wicket
Sistemistica Totocalcio
 
 
Programmare Applicativi...
Presentazione del libro
Panoramica dei contenuti
 
 
Giochi in PHP
Introduzione
Filetto (Tris)
Forza 4
Sudoku
 
 
Tutorial Linux/Unix
Archivio
 
 
Sql
Tutorial su Mysql
 
 
C++
Framework a oggetti
 
Archivio->Script Shell - Cercare un archivio jar contenente una classe Java

Script Shell - Cercare un archivio jar contenente una classe Java

Questo piccolo tutorial spiega come implementare un semplicissimo script shell per cercare tutti i file jar contenenti una classe Java.

La prima riga dello script contiene il riferimento della shell che lo andrà ad eseguire (sh è una shell molto comune, se volete cambiarla assicuratevi di inserire una shell esistente e di verificare la correttezza del percorso):
#!/bin/sh

Per cercare tutti i file jar in determinato percorso possiamo utilizzare find:
find -iname '*.jar'

Ovviamente nel nostro script il percorso viene passato come primo parametro.
Mediante un ciclo è possibile recuperare i file trovati da find, ed ognuno di questi file può essere scansionato dal comando jar.
Per il momento abbiamo:
for file in $(find $1 -iname '*.jar')
do
jar tvf $file
done


Per trovare una determinata classe è possibile utilizzare il comando grep, ottenendo:
....
jar tvf $file|grep $2
...


Il risultato di questo script è solo la visualizzazione delle classi trovate nei file. Per visualizzare invece i file che contengono questa classe si può fare in questo modo:
....
r=$(jar tvf $file|grep $2)
if [ -n "$r" ]; then
echo $file
fi
...


Il risultato finale è dunque:



Come esercizio potete provare a farlo con una sola linea di comandi (utile per eseguirlo da console senza ricorrere ad uno script shell).