Bash 如何复制目录中的每个文件,除了具有两个不同扩展名的文件?

Bash 如何复制目录中的每个文件,除了具有两个不同扩展名的文件?,bash,shell,copy,command,Bash,Shell,Copy,Command,我想将当前目录中的所有文件复制到目录“folder_1”,除了以.txt和.png结尾的文件 我尝试了以下方法: shopt -s extglob cp !(*.txt) folder_1 但我需要使它更一般,以包括png以及 cp !(*.txt|*.png) folder_1 如果使用shopt内置函数启用extglob shell选项,则会识别多个扩展模式匹配运算符。在下面的描述中,模式列表是一个或多个模式的列表,这些模式由“|”分隔。复合图案可以使用以下一个或多个子图案形成:

我想将当前目录中的所有文件复制到目录“folder_1”,除了以.txt和.png结尾的文件

我尝试了以下方法:

shopt -s extglob 
cp !(*.txt) folder_1 
但我需要使它更一般,以包括png以及

cp !(*.txt|*.png) folder_1 

如果使用shopt内置函数启用extglob shell选项,则会识别多个扩展模式匹配运算符。在下面的描述中,模式列表是一个或多个模式的列表,这些模式由“|”分隔。复合图案可以使用以下一个或多个子图案形成:

!!(图案列表)

匹配除一个给定模式之外的任何模式

!(*.txt |*.png)