我想选择目录中以以下任何扩展名结尾的所有文件:txt
, java
, xml
,csv
现在我正在这样做:
echo *.{txt,java,xml,csv}
问题是,如果目录不包含文件,则.java
输出如下所示:
f0030720.txt f0033510.txt f1028864.txt f1029056.txt f1068796.txt *.java f0905776.xml f1067014.csv f1067046.csv f1067056.csv f1067074.csv
如果我使用、或类似的东西,该*.java
项目会产生问题,因为它实际上不是一个文件。有什么方法可以让我忽略任何与文件实际不匹配的 glob 吗?mv
tar
答案1
设置nullglob
选项:
shopt -s nullglob