Hitta bilder som inte har ändrats på ett tag och radera dem

Om du vill ta bort JPEG-bilder som inte har blivit modifierade på ett tag kan det här vara något för dig. Med find så kommandot i linux kan man söka efter filer per namn och senast ändrat tid och efter filtyp mm.

Här under använder jag find för att hitta alla filer som inte har ändrats på mer än sju dagar och slutar på *.jpg. Filerna som hittade skickas senare vidare till rm kommandot som tar bort filerna. Obs används på egen risk

find /home/peter/bashtest/ -mtime +7 -type f -name '*.jpg' -print0 | xargs -0 rm

Jag har kört detta bashscript innan för att testa kommandona ovan för att jag gillar tdd 🙂 Scriptet nedan skapar tomma filera med två olika ändringsdatum.

#!/bin/bash 

i=0
max=10
while [ "$i" -lt "$max" ]
do
	touch -am -t '201110090800'  "bild$i.jpg"
	touch -am -t '201110140800'  "bild$i$i.jpg"
  	i=`expr $i + 1`
done

http://www.computerhope.com/unix/utouch.htm
http://content.hccfl.edu/pollock/Unix/FindCmd.htm
http://linux.about.com/od/commands/a/blcmdl1_findx.htm