我想将除名为 *.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)
您可以在上面看到此命令仅适用于第一个目录,如何使其适用于所有子目录?