Spesso si rende necessario dover eliminare una lista di file presenti in svariate directory e farlo tramite file manager è veramente lungo e noioso. In questi casi con un semplice script possiamo risolvere il problema.
Vediamo come fare.
Ammettiamo di voler eliminare tutti i file pdf presenti nella nostra home directory, comprese le sottodirectory:
1) cerchiamo i file
find /home/mia_home|grep .pdf$ l’espressione regolare grep .pdf$ cerca tutti i file che finiscono con .pdf presenti nella home directory ed in tutte le sottodirectory;
2) salviamo l’elenco dei file su un file che chiamiamo lista_file
find /home/mia_home|grep .pdf$ > lista_file il comando > lista_file redirige lo standard output nel file lista_file
3) verifichiamo il file creato
less /home/mia_home/lista_file dovrebbe stampare a video una lista simile alla seguente, se avete file pdf nella vostra home
./htdocs/mia_home/ZendFramework-1.5.0PR/ZendFramework-1.5.0PR/demos/Zend/Pdf/test.pdf
./htdocs/mia_home/ZendFramework-1.5.0PR/ZendFramework-1.5.0PR/tests/Zend/Pdf/_files/pdfarchiving.pdf
./htdocs/mia_home/ZendFramework-1.5.0/demos/Zend/Pdf/test.pdf
./htdocs/mia_home/ZendFramework-1.5.0/tests/Zend/Pdf/_files/pdfarchiving.pdf
4)comando x la rimozione dei file
Il comando per rimuovere un file in linux è rm, dobbiamo fare in modo che questo venga aggiunto all’inizio di ognuna delle righe presenti all’interno del file lista_file; per fare ciò modifichiamo il comando al punto 2 in questo modo
find /home/mia_home|grep .pdf$ |awk ‘{print “rm -vfR “$0}’ > lista_file
analiziamo il comando |awk ‘{print “rm -vfR “$0}’
- awk ci auta a formattare l’output
- {print “rm -vfR “$0}’ stampa il risultato con il formato rm -vfR file.pdf ($0)
5) verifichiamo il file creato
less /home/mia_home/lista_file dovrebbe stampare a video una lista simile alla seguente
rm -vfR ./htdocs/test/ZendFramework-1.5.0PR/ZendFramework-1.5.0PR/demos/Zend/Pdf/test.pdf
rm -vfR ./htdocs/test/ZendFramework-1.5.0PR/ZendFramework-1.5.0PR/tests/Zend/Pdf/_files/pdfarchiving.pdf
rm -vfR ./htdocs/test/ZendFramework-1.5.0/demos/Zend/Pdf/test.pdf
rm -vfR ./htdocs/test/ZendFramework-1.5.0/tests/Zend/Pdf/_files/pdfarchiving.pdf
6) rimuoviamo i file
Per rimuovere i file che popolano il notro file lista_file non dobbiamo fare altro che rendere lista_file eseguibile
chmod +x lista_file
ed eseguirlo
./lista_file
The End