lsでワイルドカードを使用して一連の数字から欠落しているファイルを見つける方法は?

lsでワイルドカードを使用して一連の数字から欠落しているファイルを見つける方法は?

端末から欠落しているファイルを順番に一覧表示しようとしています。これには多くの答えがありますが、私の状況に適応するほど一般的ではありません。したがって、十分に一般的で、より多くの人に適した回答ができる場合は、そうしてください。

欠落しているファイルを一覧表示していますが、ls {369..422}.avi >/dev/null*を使用して.aviで終わるファイルと一致させることはできません。どうすればいいですか?

番号はファイルの終わりではなく中間にあります。だから私は次のようなものが必要です*numbers*.avi

ベストアンサー1

ls *{369..422}*.avi >/dev/null

これはまず次のようなパターンを生成します

*369*.avi
*370*.avi
*371*.avi
*372*.avi
*373*.avi
*374*.avi

中括弧で拡張されたlsこれらのパターンは実行され、現在のディレクトリの名前に拡張できない各パターンにエラーメッセージが表示されます。

*または、名前に次の内容を含むファイルがない場合:

for name in *{369..422}*.avi; do
    case "$name" in 
        '*'*) printf '"%s" not matched\n' "$name" ;;
    esac
done

これは、パターンが現在のディレクトリの名前と一致しない場合、パターンは拡張されないままであるという事実に依存します。これは、欠落しているファイルを解析することなく、潜在的に有用なタスクを実行する方法を提供しますls

おすすめ記事