Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Bash 如何在Unix中移动具有指定所有者的所有文件?_Bash_Unix_Command Line - Fatal编程技术网

Bash 如何在Unix中移动具有指定所有者的所有文件?

Bash 如何在Unix中移动具有指定所有者的所有文件?,bash,unix,command-line,Bash,Unix,Command Line,我有一个包含大量文件的目录,我需要按所有者将它们分开。我的本能是通过管道将ls输出到mv,但我发现这是因为文件名可能包含特殊字符。无论如何,我能想到的最接近的是: ls-l | grep所有者|查找regex | u文件名| mv../ 但这是行不通的 注意-对于目录中的文件,我确实有一个可靠的正则表达式,但是所有权是分散的 find -maxdepth 1 -user username -exec mv {} ../ \; 如果需要子目录中的文件,请省略maxdepth 如果需要子目录中的文

我有一个包含大量文件的目录,我需要按所有者将它们分开。我的本能是通过管道将
ls
输出到
mv
,但我发现这是因为文件名可能包含特殊字符。无论如何,我能想到的最接近的是:

ls-l | grep所有者|查找regex | u文件名| mv../

但这是行不通的

注意-对于目录中的文件,我确实有一个可靠的正则表达式,但是所有权是分散的

find -maxdepth 1 -user username -exec mv {} ../ \;
如果需要子目录中的文件,请省略maxdepth


如果需要子目录中的文件,请省略maxdepth。

find-maxdepth 1-user username-exec mv{}../\,如果需要,也可以从子目录中省略maxdepth。@Wrikken为什么不将其放在答案中?您希望列表文件在mv的命令行上,而不是在其标准输入中。所以一根管子是没有意义的。像@Wrikkens的例子一样,查找是最好的方法this@rainkinz:好的,问题#几千个答案是“使用-查找”,我希望有人有足够的精力来完成这个复制:P@Wrikken这就是我要找的。这个答案可以帮助那些像我一样把关键字“owner”和“user”混在一起的人,如果需要,也可以从子目录中省略maxdepth。@Wrikken为什么不将其放在答案中?您希望列表文件在mv的命令行上,而不是在其标准输入中。所以一根管子是没有意义的。像@Wrikkens的例子一样,查找是最好的方法this@rainkinz:好的,问题#几千个答案是“使用-查找”,我希望有人有足够的精力来完成这个复制:P@Wrikken这就是我要找的。这个答案可以帮助那些像我一样,把关键词“所有者”和“用户”混在一起的人