gpt4 book ai didi

linux - Bash 脚本查找和复制具有多个扩展名的文件,包括具有 2 个或 3 个扩展名的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:42 27 4
gpt4 key购买 nike

我有一个 bash 脚本来查找文件并将其复制到另一个扩展,

find . -name '*.so' -name '*.lib' -exec cp{} $destination \

上面的脚本只会将所有 .so 文件复制到 $destination 并忽略 *.lib。此外,我在目录中有更多文件,带有 2 或 3 个扩展名,例如test.so.55 , test1.so.bkk

我怎样才能调整我上面的代码,以便它可以复制所有的 '*.so''*.lib''*.so .*' 文件到 $destination。此外,我尝试使用,

Try1:

find . -name '*.so' -name '*.lib' -name '*.so.*' -exec cp{} $destination \

甚至

Try2

find . -name '*.so' -exec cp{} $destination \
find . -name '*.so.*' -exec cp{} $destination \
find . -name '*.lib' -exec cp{} $destination \

但上面的代码只会复制 Try 1 中的 *.so 和 *.so 和 *.lib 文件中的并且不会复制 *.so.**.so.55 , *.so.bkk 在 Try 2 中。

我有几千个文件,我该如何调整我的代码以便它能复制所有文件*.so , *.lib 和 *.so.* 到目的地?

最佳答案

在模式匹配中使用 OR 子句:

find . \( -name '*.so' -o -name '*.lib' -o -name '*.so.*' \) -exec cp{} $destination \;

关于linux - Bash 脚本查找和复制具有多个扩展名的文件,包括具有 2 个或 3 个扩展名的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35218570/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com