To je trochu zdlouhavé, protože touch
nebere nezpracovaných time_t
hodnotu, ale ve skriptu by to mělo dělat svou práci docela bezpečně. (-r
možnost date
je přítomen v MacOS X; GNU jsem dvakrát nezkontroloval.) Proměnné 'time' by se dalo vyhnout zapsáním substituce příkazu přímo do touch
příkazový řádek.
time=$(date -r 1312603983 '+%Y%m%d%H%M.%S')
marker=/tmp/marker.$$
trap "rm -f $marker; exit 1" 0 1 2 3 13 15
touch -t $time $marker
find . -type f -newer $marker
rm -f $marker
trap 0
Můžete najít každý soubor, který byl vytvořen/změněn za poslední den, použijte tento příklad:
find /directory -newermt $(date +%Y-%m-%d -d '1 day ago') -type f -print
pro nalezení všeho za poslední týden použijte „před 1 týdnem“ nebo „před 7 dny“ cokoliv chcete
Možná to někdo využije. Najděte všechny soubory, které byly změněny v určitém časovém rámci rekurzivně, stačí spustit:
find . -type f -newermt "2013-06-01" \! -newermt "2013-06-20"