Follow-up Comment #23, bug #12162 (project findutils): I have:
mango:/tmp# find -name "nullen*" -printf "%p %sn" | sort ./nullen0999 1022976 ./nullen1000 1024000 ./nullen1001 1025024 ./nullen1024 1048576 ./nullen1025 1049600 ./nullen2047 2096128 ./nullen2048 2097152 ./nullen2049 2098176 Yet while mango:/tmp# find -size +1M -size -3M -printf "%p %sn" | sort ./nullen1025 1049600 ./nullen2047 2096128 ./nullen2048 2097152 Does not show up nullen2049 cause find rounds -3M to next integer unit <=2M. Yet find doesn't round up +1M to >=2M. I think this behavior is quite unpredictable and inconsistent. Especially as -[a|m|c]mtime exactly behaves that way even for "+" – well at least in my last test it did. But unless I am grossly off track this doesn't work at all ATM: ms@mango:/tmp/find-times> touch -d "1 day ago" morethan1dayago ms@mango:/tmp/find-times> touch -d "22 hours ago" lessthan1dayago ms@mango:/tmp/find-times> touch -d "2 days ago" morethan2daysago ms@mango:/tmp/find-times> touch -d "3 days ago" morethan3daysago ms@mango:/tmp/find-times> touch -d "46 hours ago" lessthan2daysago ms@mango:/tmp/find-times> touch -d "70 hours ago" lessthan3daysago ms@mango:/tmp/find-times#2> ls -l --time=ctime insgesamt 0 -rw-rw-r-- 1 ms teamix 0 Aug 15 16:11 lessthan1dayago -rw-rw-r-- 1 ms teamix 0 Aug 15 16:12 lessthan2daysago -rw-rw-r-- 1 ms teamix 0 Aug 15 16:12 lessthan3daysago -rw-rw-r-- 1 ms teamix 0 Aug 15 16:11 morethan1dayago -rw-rw-r-- 1 ms teamix 0 Aug 15 16:11 morethan2daysago -rw-rw-r-- 1 ms teamix 0 Aug 15 16:11 morethan3daysago ms@mango:/tmp/find-times> date Mi 15. Aug 16:16:26 CEST 2012 ms@mango:/tmp/find-times> find -ctime -2 -printf "%pt %cn" | sort ./lessthan1dayago Wed Aug 15 16:11:33.0439805365 2012 ./lessthan2daysago Wed Aug 15 16:12:00.0298369109 2012 ./lessthan3daysago Wed Aug 15 16:12:10.0625203012 2012 ./morethan1dayago Wed Aug 15 16:11:23.0256899464 2012 ./morethan2daysago Wed Aug 15 16:11:42.0723161276 2012 ./morethan3daysago Wed Aug 15 16:11:50.0711165207 2012 . Wed Aug 15 16:12:10.0625203012 2012 Note how find display day as 15 August on every file. find -ls shows correct results. Hmmm, but thats a different bug it seems, that I will report in a moment. Still last I checked with -exec ls -ld {} ; -ctime behaved as follows: - ctime 1: 24-48 hours earlier - ctime -1: 0-24 hours earlier - ctime +1: >=48 (!) hours earlier So I suggest new time options as well. I'd like the aliasing idea with -size => -blocksize. Or maybe "gt" and "lt" could serve for new fractional comparing? Like in "test" command. But thats > and <, not <= and =>. I think the semantics which one find uses should also be clarified. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?12162> _______________________________________________ Nachricht gesendet von/durch Savannah http://savannah.gnu.org/