按月查找似乎缺少文件

时间:2013-12-13 02:11:02

标签: linux macos bash shell find

我正在运行以下命令来组织数千张图片,我已经创建了目录结构:

for YEAR in 00 01 02 03 04 05 06 07 08 09 10 11 12 13; do
  for MONTH in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec; do 
    echo $YEAR $MONTH; 
    find . -newermt "01-$MONTH-20$YEAR -1 sec" -and \
           -not -newermt "01-$MONTH-20$YEAR +1 month -1 sec" \
           -exec mv {} ../20$YEAR/$MONTH/ \; 
  done 
done 

这已经成功移动了几个文件。但是,似乎找不到文件。如果我在我的脚本之后放了一个ll | wc -l,那么目录中仍然有2000个文件。如果按日期排序,它们都是从2000年1月开始创建的。

我不是发现的专家。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是使用OS X的统计和日期的替代方案:

for f in *;do d=../$(date -r $(stat -f%m $f) +%Y/%m);mkdir -p $d;mv $f $d;done

date -d @$(stat -c%Y $f) +%Y/%m与GNU统计和日期一起使用。