Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 按月查找似乎缺少文件_Linux_Macos_Bash_Shell_Find - Fatal编程技术网

Linux 按月查找似乎缺少文件

Linux 按月查找似乎缺少文件,linux,macos,bash,shell,find,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

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

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月开始创建的


我不是一个寻找的专家。任何帮助都将不胜感激

这里有一个使用OS X统计数据和日期的替代方案:

for f in *;do d=../$(date -r $(stat -f%m $f) +%Y/%m);mkdir -p $d;mv $f $d;done
将日期-d@$stat-c%Y$f+%Y/%m与GNU统计和日期一起使用。

find.>所有列表;找到-newermt….>日期表;comm-3 allList dateList或类似工具可能会向您显示遗漏的内容,这样您就更容易理解需要更改的内容。当然,省略-exec mv。。在2号找到cmd。哦,如果你所有的日期列表文件都已经被移动了,那么只需cd../;查找。>日期列表,然后通信。。。和以前一样。这张cd是为了把你放在目录的顶端,上面有你所有20美元一年的目录。祝你好运。你写的它们都是从2000年1月开始创建的——但是它们是从2000年开始修改的吗-newermt检查修改时间,而不是创建或inode更改时间。