Categories: server

Script per l’eliminazione ricorsiva dei file

Reading Time: < 1 minuteAggiungi ai preferiti

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

wallaceer

View Comments

  • Ho usato questo per eliminare una serie di sotto directory .imap
    $find . -type d -name "*.imap" | awk '{print "rm -vfR "$0}' > lista_file
    $chmod +x lista_file
    $./lista_file

Recent Posts

Esclusione di prodotti da una regola a catalogo in Magento 2

Reading Time: < 1 minute Esclusione di una serie di prodotti selezionati tramite l'apposito menù…

2 anni ago

Traduzione di testo con googletranslate

Reading Time: < 1 minute Nel video che vedete di seguito, a titolo di esempio,…

2 anni ago

Restart di php-fpm con capistrano dopo un deploy

Reading Time: 2 minutes Vediamo come è possibile fare il restart di php-fpm con capistrano…

3 anni ago

Manifesto per lo Sviluppo Agile di Software

"Stiamo scoprendo modi migliori di creare software,sviluppandolo e aiutando gli altri a fare lo stesso.Grazie…

3 anni ago

Security patch for Shopware 6

Shopware ha rilasciato una security patch in grado di colmare alcune lacune di sicurezza per…

3 anni ago

E-commerce ed omnicanalità

Il tema e-commerce ed omnicanalità ha sostituito l'ormai obsoleta multicanalità, vediamo di cosa si tratta.…

3 anni ago