如何使用终端按修改日期复制文件?

如何使用终端按修改日期复制文件?

我试图根据文件的修改日期复制文件,因为文件名中不包含日期。巧合的是,这些文件是目录中最新的 22 个文件,所以如果我运行命令ls -lt | head -22,输出的文件正是我要复制的文件。

我读过这个线程在这里,但接受的答案似乎在终端中不起作用,并且它并不完全按日期过滤,只是按头过滤。

我运行的是 macOS Sierra 10.12.5。

答案1

完成此类任务的方法是使用

find ./dir -mtime -10 -type f -exec cp {} ./another_dir/ \;

-mtime -10将(过去 10 天)替换为您期望的内容。

请不要解析ls输出。查看http://mywiki.wooledge.org/ParsingLs

答案2

$ cp `ls -1t | head -22` /destination/dir

相关内容