如何将用户 A 拥有的项目移动到新文件夹,而不移动其他用户拥有的项目

如何将用户 A 拥有的项目移动到新文件夹,而不移动其他用户拥有的项目

我有一个大文件夹,里面有大约 30k 张图像。许多图像属于用户 A。我想移动用户 A 拥有的那些项目,同时保持其余项目不变。我该怎么做?

答案1

我认为最简单的方法是使用find,在所有的 it 选项中,你可以使用它-user来确定对哪个所有者执行操作。所以在你的情况下,你应该使用类似这样的方法

find /path/where/find/files -user `id -u yourUser` -exec mv -vf {} /destination/path/ \;

-type您可以通过添加例如或-name选项来精确搜索

find /path/where/find/files -type f -name "*.jpg" -user `id -u yourUser` -exec mv -vf {} /destination/path/ \;

那意思是;在这里 (/path/where/find/files) 查找所有以“.jpg”结尾的文件(仅限常规文件),找到后将其移动到 /destination/path

find这是一个非常有用的工具,这里有一个教程这解释了基本原理。

相关内容