如何在移动文件时更新时间戳

如何在移动文件时更新时间戳

在源目录中,我有多个文件,它们都带有点(.)。

因此,当我移动时,我可以给出如下所示的内容

mv *.* /destination/

但我的问题是我想为目标文件夹中的所有文件添加时间戳以便识别。

答案1

尽管普鲁莫的解决方案从技术上来说没问题,但可能有点令人困惑。您可以使用两个单独的命令来实现相同的目标,首先触碰荷兰国际集团的文件更新访问时间,随后移动命令:

touch *.*
mv *.* /destination/

按这个顺序做的原因是为了不更新访问时间文件夹中可能已包含该文件/destination/

值得注意的是,通配符*.*模式不匹配隐藏文件,在 Unix 系统上以一个前导点标记(用于ls .*列出它们)。由您决定是否要实现这一点。

答案2

使用和:xargstouchmv

printf '%s\0' *.*  | xargs -0 sh -c 'touch "$@" && mv "$@" /destination/' xargs-sh

这还具有防止“参数过多”错误的好处,因为xargs它可以解决这个问题。

相关内容