zsh、zmv によるサブディレクトリの一括名前変更では、大量のディレクトリでは何も起こりません

zsh、zmv によるサブディレクトリの一括名前変更では、大量のディレクトリでは何も起こりません

私は設定しました

autoload -U zmv
alias mmv='noglob zmv -W'

サンプルデータ(サブフォルダを含む約20個のフォルダ)では、

mmv images/**/advert images/**/notice

期待通りに動作します。しかし、実際のデータ (数十万のフォルダー) に対して同じコマンドを実行しても、何も起こりません。メッセージを取得するために実行しましたmmv -nが、結果はありませんでした。ディレクトリ名が 1 つも変更されたため、しばらくしてからプロセスを終了しました。

zmv最初のステップとしてフォルダリストをキャッシュし、その後名前を置き換えますか? ディレクトリごとにすぐに名前が変更され始めると予想しましたzmv

mvv を実行して数時間待つだけでいいのでしょうか?

答え1

zmv動作を開始する前にすべての名前変更を計算するので、観察された動作は正常です。

これを行う理由の 1 つは、2 つのファイルを同じ名前に変更しようとするとエラーが発生するためです。また、ファイルを既存の名前に変更しようとするとエラーが発生します。また、すでに名前が変更された一連のファイルを特定しにくい状態で途中で中止するのではなく、早い段階でエラーを検出しようとします。

関連情報