現在、4種類の100ファイル、合計400ファイルを含むディレクトリがあります。何が欠けているのか知りたいです。私の現在のスクリプトは次のとおりです。
for((i=1; i<=100; i++)); do name="File_Type_1_${i}.RData";
[[ ! -e "$name" ]] && echo "missing $name"; done
for((i=1; i<=100; i++)); do name="File_Type_2_${i}.RData";
[[ ! -e "$name" ]] && echo "missing $name"; done
for((i=1; i<=100; i++)); do name="File_Type_3_${i}.RData";
[[ ! -e "$name" ]] && echo "missing $name"; done
for((i=1; i<=100; i++)); do name="File_Type_4_${i}.RData";
[[ ! -e "$name" ]] && echo "missing $name"; done
4回も実行しなければならないのが面倒です。すべてを同時に実行する方法はありますか?これ
答え1
ls -l File_type_{1..4}_{1..100}.RData > /dev/null
このコマンドは、中かっこ拡張を使用して400個のファイル名をすべて生成し、ls
それをリストするように要求します。ただし、出力をただちに /dev/null にリダイレクトして削除してください。ls
たとえば、stderrに見つからないファイルについて文句を言います。
ls: cannot access 'File_type_1_99.RData': No such file or directory
ls: cannot access 'File_type_3_42.RData': No such file or directory
欠落しているファイルもその一つです!