Portál AbcLinuxu, 15. července 2025 05:16
Smaže soubory větší než 1MB a starší než 60 dní, více viz. man find
:
$ find -size +1M -atime +60 |xargs -i rm {}
XXX=počet souborů
naivně:
ls -t | sort -n | head -n XXX | xargs rm
když budou problémy:
find . \( -type f -printf "%T@\t%p\n" \) | sort -n | tail -n XXX \
| cut -f2- | tr '\n' '\0' | xargs -r0 rm
to s polepočtemkilobajtů resp. asi s počítáním počtu kb po mně nechtějte, to bude asi potřeba nějak zbastlit :)
$size
bytů:
size=200000 find . -type f -printf "%s %p\n" | awk 'BEGIN { sum=0; }; sum<'$size' { sum+=$1; if (sum<'$size') print gensub("^[0-9]+ ", "", "g", $0); }'
# size=200000; find . -type f -printf "%T@ %s %p\n" | sort -n | awk 'BEGIN { sum=0; }; sum<'$size' { sum+=$2; if (sum<'$size') print gensub("^[0-9]+ [0-9]+ ", "", "g", $0); }'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.