gpt4 book ai didi

linux - 如何将所有文件从一个目录复制到另一个目录,但不包括以 bash 脚本中的给定字符串开头的文件

转载 作者:行者123 更新时间:2023-12-04 07:23:54 26 4
gpt4 key购买 nike

我有一个包含大量文件 ~1gb 的目录。除了以“name”开头的目录外,我需要将它们全部复制到不同的目录中。我尝试使用这个:“ls src_folder | grep -v '^name' | xargs cp -t dest_folder”来自上一个问题 In Linux, how to copy all the files not starting with a given string?
尝试将 test1.txt 从包含 test1.txt 和 name.txt 的 src_folder 复制到 dest_folder 时出现以下错误
cp: 无法统计 `test1.txt': 没有那个文件或目录
我目前的工作是复制所有文件,然后使用 find 删除 dest_folder 中以“name”开头的文件。这有效,但我想我可以通过只复制我真正想要的文件来节省一些时间。有什么建议?

最佳答案

您可以使用 shell 选项 extglob .此选项扩展了 bash 的模式匹配,因此您可以使用更高级的表达式。

shopt -s extglob
cp src_folder/!(name*) dest_folder
欲了解更多信息,请运行 nam bash并寻找 extglob .

关于linux - 如何将所有文件从一个目录复制到另一个目录,但不包括以 bash 脚本中的给定字符串开头的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68319521/

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