A couple of changes were required to matthewg42's code. The idea was correct, just a minor and/or mixup, and should have used modification time instead of status change time:
Ok, let's generate the test files, and set the modification dates:
Code:
$ for month in june july august ; do
for day in {1..30} ; do
touch -t $(date -d "$month $day" +%y%m%d1200) $(date -d "$month $day" +%y-%m-%d-%A);
done;
done
$ ll
total 0B
-rw-r--r-- 1 mrc mrc 0B Jun 1 12:00 08-06-01-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 2 12:00 08-06-02-Monday
-rw-r--r-- 1 mrc mrc 0B Jun 3 12:00 08-06-03-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jun 4 12:00 08-06-04-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jun 5 12:00 08-06-05-Thursday
-rw-r--r-- 1 mrc mrc 0B Jun 6 12:00 08-06-06-Friday
-rw-r--r-- 1 mrc mrc 0B Jun 7 12:00 08-06-07-Saturday
-rw-r--r-- 1 mrc mrc 0B Jun 8 12:00 08-06-08-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 9 12:00 08-06-09-Monday
-rw-r--r-- 1 mrc mrc 0B Jun 10 12:00 08-06-10-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jun 11 12:00 08-06-11-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jun 12 12:00 08-06-12-Thursday
-rw-r--r-- 1 mrc mrc 0B Jun 13 12:00 08-06-13-Friday
-rw-r--r-- 1 mrc mrc 0B Jun 14 12:00 08-06-14-Saturday
-rw-r--r-- 1 mrc mrc 0B Jun 15 12:00 08-06-15-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 16 12:00 08-06-16-Monday
-rw-r--r-- 1 mrc mrc 0B Jun 17 12:00 08-06-17-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jun 18 12:00 08-06-18-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jun 19 12:00 08-06-19-Thursday
-rw-r--r-- 1 mrc mrc 0B Jun 20 12:00 08-06-20-Friday
-rw-r--r-- 1 mrc mrc 0B Jun 21 12:00 08-06-21-Saturday
-rw-r--r-- 1 mrc mrc 0B Jun 22 12:00 08-06-22-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 23 12:00 08-06-23-Monday
-rw-r--r-- 1 mrc mrc 0B Jun 24 12:00 08-06-24-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jun 25 12:00 08-06-25-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jun 26 12:00 08-06-26-Thursday
-rw-r--r-- 1 mrc mrc 0B Jun 27 12:00 08-06-27-Friday
-rw-r--r-- 1 mrc mrc 0B Jun 28 12:00 08-06-28-Saturday
-rw-r--r-- 1 mrc mrc 0B Jun 29 12:00 08-06-29-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 30 12:00 08-06-30-Monday
-rw-r--r-- 1 mrc mrc 0B Jul 1 12:00 08-07-01-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jul 2 12:00 08-07-02-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jul 3 12:00 08-07-03-Thursday
-rw-r--r-- 1 mrc mrc 0B Jul 4 12:00 08-07-04-Friday
-rw-r--r-- 1 mrc mrc 0B Jul 5 12:00 08-07-05-Saturday
-rw-r--r-- 1 mrc mrc 0B Jul 6 12:00 08-07-06-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 7 12:00 08-07-07-Monday
-rw-r--r-- 1 mrc mrc 0B Jul 8 12:00 08-07-08-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jul 9 12:00 08-07-09-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jul 10 12:00 08-07-10-Thursday
-rw-r--r-- 1 mrc mrc 0B Jul 11 12:00 08-07-11-Friday
-rw-r--r-- 1 mrc mrc 0B Jul 12 12:00 08-07-12-Saturday
-rw-r--r-- 1 mrc mrc 0B Jul 13 12:00 08-07-13-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 14 12:00 08-07-14-Monday
-rw-r--r-- 1 mrc mrc 0B Jul 15 12:00 08-07-15-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jul 16 12:00 08-07-16-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jul 17 12:00 08-07-17-Thursday
-rw-r--r-- 1 mrc mrc 0B Jul 18 12:00 08-07-18-Friday
-rw-r--r-- 1 mrc mrc 0B Jul 19 12:00 08-07-19-Saturday
-rw-r--r-- 1 mrc mrc 0B Jul 20 12:00 08-07-20-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 21 12:00 08-07-21-Monday
-rw-r--r-- 1 mrc mrc 0B Jul 22 12:00 08-07-22-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jul 23 12:00 08-07-23-Wednesday
-rw-r--r-- 1 mrc mrc 0B Jul 24 12:00 08-07-24-Thursday
-rw-r--r-- 1 mrc mrc 0B Jul 25 12:00 08-07-25-Friday
-rw-r--r-- 1 mrc mrc 0B Jul 26 12:00 08-07-26-Saturday
-rw-r--r-- 1 mrc mrc 0B Jul 27 12:00 08-07-27-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 28 12:00 08-07-28-Monday
-rw-r--r-- 1 mrc mrc 0B Jul 29 12:00 08-07-29-Tuesday
-rw-r--r-- 1 mrc mrc 0B Jul 30 12:00 08-07-30-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 1 12:00 08-08-01-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 2 12:00 08-08-02-Saturday
-rw-r--r-- 1 mrc mrc 0B Aug 3 12:00 08-08-03-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 4 12:00 08-08-04-Monday
-rw-r--r-- 1 mrc mrc 0B Aug 5 12:00 08-08-05-Tuesday
-rw-r--r-- 1 mrc mrc 0B Aug 6 12:00 08-08-06-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 7 12:00 08-08-07-Thursday
-rw-r--r-- 1 mrc mrc 0B Aug 8 12:00 08-08-08-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 9 12:00 08-08-09-Saturday
-rw-r--r-- 1 mrc mrc 0B Aug 10 12:00 08-08-10-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 11 12:00 08-08-11-Monday
-rw-r--r-- 1 mrc mrc 0B Aug 12 12:00 08-08-12-Tuesday
-rw-r--r-- 1 mrc mrc 0B Aug 13 12:00 08-08-13-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 14 12:00 08-08-14-Thursday
-rw-r--r-- 1 mrc mrc 0B Aug 15 12:00 08-08-15-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 16 12:00 08-08-16-Saturday
-rw-r--r-- 1 mrc mrc 0B Aug 17 12:00 08-08-17-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 18 12:00 08-08-18-Monday
-rw-r--r-- 1 mrc mrc 0B Aug 19 12:00 08-08-19-Tuesday
-rw-r--r-- 1 mrc mrc 0B Aug 20 12:00 08-08-20-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 21 12:00 08-08-21-Thursday
-rw-r--r-- 1 mrc mrc 0B Aug 22 12:00 08-08-22-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 23 12:00 08-08-23-Saturday
-rw-r--r-- 1 mrc mrc 0B Aug 24 12:00 08-08-24-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 25 12:00 08-08-25-Monday
-rw-r--r-- 1 mrc mrc 0B Aug 26 12:00 08-08-26-Tuesday
-rw-r--r-- 1 mrc mrc 0B Aug 27 12:00 08-08-27-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 28 12:00 08-08-28-Thursday
-rw-r--r-- 1 mrc mrc 0B Aug 29 12:00 08-08-29-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 30 12:00 08-08-30-Saturday
Now, let's find the correct range of files to delete:
Code:
$ find . -type f \( -mtime +14 -o -mtime +60 \) -printf "%Tw %p\n"
0 ./08-06-01-Sunday
1 ./08-06-02-Monday
2 ./08-06-03-Tuesday
3 ./08-06-04-Wednesday
4 ./08-06-05-Thursday
5 ./08-06-06-Friday
6 ./08-06-07-Saturday
0 ./08-06-08-Sunday
1 ./08-06-09-Monday
2 ./08-06-10-Tuesday
3 ./08-06-11-Wednesday
4 ./08-06-12-Thursday
5 ./08-06-13-Friday
6 ./08-06-14-Saturday
0 ./08-06-15-Sunday
1 ./08-06-16-Monday
2 ./08-06-17-Tuesday
3 ./08-06-18-Wednesday
4 ./08-06-19-Thursday
5 ./08-06-20-Friday
6 ./08-06-21-Saturday
0 ./08-06-22-Sunday
1 ./08-06-23-Monday
2 ./08-06-24-Tuesday
3 ./08-06-25-Wednesday
4 ./08-06-26-Thursday
5 ./08-06-27-Friday
6 ./08-06-28-Saturday
0 ./08-06-29-Sunday
1 ./08-06-30-Monday
2 ./08-07-01-Tuesday
3 ./08-07-02-Wednesday
4 ./08-07-03-Thursday
5 ./08-07-04-Friday
6 ./08-07-05-Saturday
0 ./08-07-06-Sunday
1 ./08-07-07-Monday
2 ./08-07-08-Tuesday
3 ./08-07-09-Wednesday
4 ./08-07-10-Thursday
5 ./08-07-11-Friday
6 ./08-07-12-Saturday
0 ./08-07-13-Sunday
1 ./08-07-14-Monday
2 ./08-07-15-Tuesday
3 ./08-07-16-Wednesday
4 ./08-07-17-Thursday
5 ./08-07-18-Friday
6 ./08-07-19-Saturday
0 ./08-07-20-Sunday
1 ./08-07-21-Monday
2 ./08-07-22-Tuesday
3 ./08-07-23-Wednesday
4 ./08-07-24-Thursday
5 ./08-07-25-Friday
6 ./08-07-26-Saturday
0 ./08-07-27-Sunday
1 ./08-07-28-Monday
2 ./08-07-29-Tuesday
3 ./08-07-30-Wednesday
5 ./08-08-01-Friday
6 ./08-08-02-Saturday
0 ./08-08-03-Sunday
1 ./08-08-04-Monday
2 ./08-08-05-Tuesday
3 ./08-08-06-Wednesday
4 ./08-08-07-Thursday
5 ./08-08-08-Friday
6 ./08-08-09-Saturday
0 ./08-08-10-Sunday
Now, let's exclude Sundays, and delete the remainding files:
Code:
$ find . -type f \( -mtime +14 -o -mtime +60 \) -printf "%Tw %p\n" | \
grep -v '^0' | cut -c3- | xargs rm -f
$ ll
total 0B
-rw-r--r-- 1 mrc mrc 0B Jun 1 12:00 08-06-01-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 8 12:00 08-06-08-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 15 12:00 08-06-15-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 22 12:00 08-06-22-Sunday
-rw-r--r-- 1 mrc mrc 0B Jun 29 12:00 08-06-29-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 6 12:00 08-07-06-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 13 12:00 08-07-13-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 20 12:00 08-07-20-Sunday
-rw-r--r-- 1 mrc mrc 0B Jul 27 12:00 08-07-27-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 3 12:00 08-08-03-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 10 12:00 08-08-10-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 11 12:00 08-08-11-Monday
-rw-r--r-- 1 mrc mrc 0B Aug 12 12:00 08-08-12-Tuesday
-rw-r--r-- 1 mrc mrc 0B Aug 13 12:00 08-08-13-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 14 12:00 08-08-14-Thursday
-rw-r--r-- 1 mrc mrc 0B Aug 15 12:00 08-08-15-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 16 12:00 08-08-16-Saturday
-rw-r--r-- 1 mrc mrc 0B Aug 17 12:00 08-08-17-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 18 12:00 08-08-18-Monday
-rw-r--r-- 1 mrc mrc 0B Aug 19 12:00 08-08-19-Tuesday
-rw-r--r-- 1 mrc mrc 0B Aug 20 12:00 08-08-20-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 21 12:00 08-08-21-Thursday
-rw-r--r-- 1 mrc mrc 0B Aug 22 12:00 08-08-22-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 23 12:00 08-08-23-Saturday
-rw-r--r-- 1 mrc mrc 0B Aug 24 12:00 08-08-24-Sunday
-rw-r--r-- 1 mrc mrc 0B Aug 25 12:00 08-08-25-Monday
-rw-r--r-- 1 mrc mrc 0B Aug 26 12:00 08-08-26-Tuesday
-rw-r--r-- 1 mrc mrc 0B Aug 27 12:00 08-08-27-Wednesday
-rw-r--r-- 1 mrc mrc 0B Aug 28 12:00 08-08-28-Thursday
-rw-r--r-- 1 mrc mrc 0B Aug 29 12:00 08-08-29-Friday
-rw-r--r-- 1 mrc mrc 0B Aug 30 12:00 08-08-30-Saturday