我正在尝试将文件夹及其内容移动到服务器上的其他位置。 文件夹可以在任何地方,但我必须将其移动到特定位置。 到目前为止,我已尝试过类似的东西,但它无法正常工作
find / -name 'test_folder' -exec mv 'test_folder' /Users/michael/Downloads/here/. {} +
任何建议,我做错了什么?
.sh
中该命令的变体是什么?
答案 0 :(得分:2)
您必须为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' {} +