小编spr*_* cc的帖子

如何从递归文件复制中排除特定扩展名?

我想将除名为 *.data 的数据文件之外的所有文件和子目录复制到目标目录。

 [ichen@ui01 sub_test]$ ls
a.cxx  a.data  subdir
[ichen@ui01 sub_test]$ ls subdir/
sub_a.cxx  sub_a.data
Run Code Online (Sandbox Code Playgroud)

可以看到,outside dir和subdir分别有2个数据文件。我使用了这个命令:

[ichen@ui01 sub_test]$ cp -r !(*.data) ../destination_dir/
Run Code Online (Sandbox Code Playgroud)

旨在将除 *.data 之外的所有文件复制到目的地,但它在子目录中不起作用:

  [ichen@ui01 destination_dir]$ ls
a.cxx  subdir
[ichen@ui01 destination_dir]$ ls subdir/
sub_a.cxx  sub_a.data
Run Code Online (Sandbox Code Playgroud)

您可以在上面看到此命令仅适用于第一个目录,如何使其适用于所有子目录?

command-line cp

6
推荐指数
1
解决办法
3501
查看次数

标签 统计

command-line ×1

cp ×1