将文件夹从未知位置移动到服务器上的不同位置

moving folder from unknown location to different location on server

我正在尝试将文件夹及其内容移动到服务器上的其他位置。 文件夹可以在任何地方,但我必须将其移动到特定位置。 到目前为止,我已经尝试过类似的方法,但它不起作用

find / -name 'test_folder' -exec mv 'test_folder' /Users/michael/Downloads/here/. {} +

任何建议,我做错了什么?

此外,此命令在 .sh 中的变体是什么?

您必须提供 mv 找到的文件夹的全名,而不仅仅是直接名称:/some/other/dir/test_folder,而不是 test_folder。使用

find / -name test_folder -exec mv '{}' /Users/michael/Downloads/here +

更新:-exec+ 形式似乎要求 {} 作为命令的最后一个参数,这与 ; 版本不同。

# Less efficient, as `mv` is called for every found directory
find / -name test_folder -exec mv '{}' /Users/michael/Downloads/here \;

# More complicated, but less overhead
find / -name test_folder -exec sh -c 'mv "$@" /Users/michael/Downloads/here' {} +