如何使用 cp 和/或 find 递归地将 src 中的所有 *.foo 文件复制到目标?

发布于 2024-07-14 16:51:43 字数 312 浏览 9 评论 0原文

cp -v -ur path/to/jsps/ /dest/path/

上述命令将所有已更新的文件从源目录复制到目标目录,并保留目录结构。

我不知道如何仅复制 *.someExtention 文件。 我知道你可以使用类似的东西:

find -f -name *.jsp -exec some awesome commands {}

但我不知道该怎么做(而且我没有时间详细阅读信息页面)。

非常感谢所有帮助。

谢谢, 莱斯

cp -v -ur path/to/jsps/ /dest/path/

The above command copies all of the files that have been updated from the source directory to the destination, preserving the directory structure.

What I can't figure out is how to copy only *.someExtention files. I know that you can use something like:

find -f -name *.jsp -exec some awesome commands {}

But I don't know how to do it (and I don't have time to read the info pages in detail).

All help is greatly appreciated.

Thanks,
LES

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清风不识月 2024-07-21 16:51:43

如果您想使用 find / cp 那么以下应该可以解决问题:

find -f -name *.jsp -exec cp --parents {} /dest/path \;

但 rsync 可能是更好的工具。

If you want to use find / cp then the following should do the trick:

find -f -name *.jsp -exec cp --parents {} /dest/path \;

but rsync is probably the better tool.

此刻的回忆 2024-07-21 16:51:43

rsync 可能会有所帮助 - 您可以告诉它仅使用包含和组合来复制某些文件排除选项,例如

rsync -a \
   --include='*.foo' \
   --include='*/' \
   --exclude='*' \
   path/to/jsps/ /dest/path/

请参阅手册并查看标题为“FILTER”的部分更多规则。

rsync might help - you can tell it to just copy certain files with a combination of include and exclude options, e.g.

rsync -a \
   --include='*.foo' \
   --include='*/' \
   --exclude='*' \
   path/to/jsps/ /dest/path/

See the manual and look at the section entitled FILTER RULES for more.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文