ワイルドカード入力を介してファイルディレクトリから見つからないファイルを探す

ワイルドカード入力を介してファイルディレクトリから見つからないファイルを探す

現在、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

欠落しているファイルもその一つです!

おすすめ記事