我正在使用一个脚本,该脚本将仅将过去一天创建的文件复制到另一个文件夹。我遇到的问题是我复制了源目录中的所有文件的脚本,而不是仅仅复制了不到一天的文件。
这就是我所拥有的:
find . -mtime -1 -exec cp --preserve --parents -a "{}" /somefolder \;
上面的代码复制源目录中的所有文件。如果我删除“ cp”的所有参数,则可以使用:
find . -mtime -1 -exec cp "{}" /somefolder \;
上面的代码仅复制我想要的最新文件,但我需要使用cp参数保留属性。
我也尝试过变量,并且对于循环的思考可能是-exec选项是问题所在:
files="$(find -mtime -1)"
for file in "$files"
do
cp --parents --preserve -a file /somefolder
但是,上述for循环会导致相同的问题,所有文件都将被复制。如果我回显$ files,则仅显示我需要的文件。
我该如何工作?
find /sourcefolder -type f -mtime -1 -exec cp -a "{}" /somefolder \;