Cancellare lo stesso file in tutte le sottodir

Luglio 12, 2007

Oggi avevo bisogno di cancellare lo stesso file in una marea di sottocartelle ed ero certo che ci fosse modo di combinare find e rm in qualche maniera per ottenere questo risultato, mai RTFM fu più indicato :P , dopo aver cercato su google find + rm + linux ho trovato questa pagina http://www.linux.ie/newusers/beginners-linux-guide/find.php
con per l’appunto una serie di esempi sull’uso di find ho scoperto l’opzione -exec che faceva proprio al caso mio.
A sto punto mi sono anche andato a splulciare la man page di find dove ovviamente era indicato tutto

Quindi per esempio per cancellare da tutte le sotto cartelle della mia home il file aaa basta dare
find ~/ -name aaa -exec rm {} \;
che esegue rm su ogni file trovato, se si volesse confermare l’operazione ogni volta c’è l’opzione -ok
find ~/ -name aaa -ok rm {} \;

Ci sono diverse varianti della exec che possono essere utili e per questo vi mando a RTFM.

Saluti.


Scompattare tanti file RAR

Giugno 29, 2007

Mi sono ritrovato ad avere un migliaio di file rar da scompattare sotto linux, da linea di comando non c’è modo da interfaccia se si selezionano troppi archivi ark sbarella giù di testa, quindi mi sono rotto e mi sono fatto uno scrippettino stupido in python che elenca tutti i file di una dir e poi esegue il rar su ognuno.
nello script mancano i controlli sui tipi di file elencati ecc.. ecc.. però per ora fa quello che mi serviva, quando avrò qualche minuto lo sistemer a puntino, ecco il codice:

import os
import sys
def main():
path=os.getcwd()
lista_file=os.listdir(path)
for file in lista_file:
comando = “unrar x ” + “\”” + file + “\””
os.system(comando)
main()

Per inciso i file erano tutte canzoni di FretsOnFire :D