
次の拡張子で終わるディレクトリ内のすべてのファイルを選択したいのですが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