在Linux中,如何复制所有不以给定字符串开头的文件?

发布于 2024-10-11 15:00:37 字数 154 浏览 2 评论 0原文

我尝试使用以下命令:

cp src_folder/[!String]* dest_folder

但是,此命令将复制所有不以任何字符 'S'、't'、'r'、'i'、'n'、'g' 开头的文件复制不以“String”开头的文件。

I tried with the following command:

cp src_folder/[!String]* dest_folder

However, this command will copy all the files that don't start with any of the characters 'S','t','r','i','n','g' instead of copying files that don't start with "String".

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

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

发布评论

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

评论(4

独木成林 2024-10-18 15:00:37

Konrad 答案的一个变体,使用 cp 选项 -t 指定目标目录简化了最后一个命令。它创建一个 cp 进程来复制所有文件。

ls src_folder | grep -v '^String' | xargs cp -t dest_folder
  • 列出 src_folder 中的所有文件
  • 过滤掉所有以 String 开头的文件
  • 将所有剩余文件复制到 dest_dir

A variation on Konrad answer, using cp option -t to specify target directory simplifies the last command. It creates a single cp process to copy all the files.

ls src_folder | grep -v '^String' | xargs cp -t dest_folder
  • list all files in src_folder
  • filter out all those that start with String
  • copy all remaining files to dest_dir
只怪假的太真实 2024-10-18 15:00:37

在bash中:

shopt -s extglob
cp src_folder/!(String*) dest_folder

In bash:

shopt -s extglob
cp src_folder/!(String*) dest_folder
娇柔作态 2024-10-18 15:00:37
ls src_folder | grep -v '^String' | xargs -J % -n1 cp % dest_folder

这将

  • 列出 src_folder 中的所有文件,
  • 过滤掉所有以 String 开头的文件(以便保留其余文件)
  • 调用 cp 命令
    • 对每个文件调用一次(-n1 表示分别为每个文件调用 cp
    • 使用 % dest_folder 作为参数,其中 % 替换为实际文件名。
ls src_folder | grep -v '^String' | xargs -J % -n1 cp % dest_folder

This will

  • list all files in src_folder
  • filter out all those that start with String (so that the rest remains)
  • Invoke the cp command
    • once for each of those files (-n1 says to call cp for each of them separately)
    • using, as its arguments, % dest_folder, where % is replaced by the actual file name.
樱&纷飞 2024-10-18 15:00:37
cp src_folder/!(String*) dest_folder

尝试一下
〜克里斯

cp src_folder/!(String*) dest_folder

Try that
~ Chris

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