将文件夹从未知位置移动到服务器上的不同位置
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' {} +
我正在尝试将文件夹及其内容移动到服务器上的其他位置。 文件夹可以在任何地方,但我必须将其移动到特定位置。 到目前为止,我已经尝试过类似的方法,但它不起作用
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' {} +