テキスト エディターでパスを編集してファイルを移動できるスクリプトの名前は?

テキスト エディターでパスを編集してファイルを移動できるスクリプトの名前は?

次のようなスクリプトが存在したことを覚えています。このスクリプトでは、ディレクトリ内のすべてのファイルのファイル パスをテキスト エディターで開くことで、ディレクトリ内のファイルを移動できました。その後、テキスト エディターでファイル パスを編集し、テキスト エディターを終了すると、ファイルの名前が変更されました。

このスクリプトが見つからないようです。名前を知っている人はいますか? シェル スクリプトのコレクションの一部だったと思います。

答え1

vidirテキスト エディターでファイル名を編集できます。エディターを選択するには、EDITOR変数を設定します。Debian または Ubuntu ではパッケージvidirに含まれていますmoreutils

vidirできることは次のとおりです( からの抜粋man 1 vidir):

ディレクトリを編集する場合、ディレクトリ内の各項目は、それぞれ番号の付いた行に表示されます。これらの番号は、vidir変更された項目を追跡する方法です。行を削除すると、ディレクトリからファイルが削除されます。ファイル名を変更するには、ファイル名を編集します。また、番号のペアを入れ替えて、ファイル名を入れ替えることもできます。

「ファイル名を編集して名前を変更する」と書かれていますが、このツールはそれ以上のことができます。パス名全体を編集することで、ファイルを他のディレクトリに移動できます。まだ存在しないディレクトリにも移動できます (vidirディレクトリを作成しようとします)。

編集後は、テキストファイルを保存してエディターを正常に終了する必要がありますvidir。その後でのみ、 が機能します。vidirファイルを変更しなかった場合 (別の名前または別の場所に保存した場合を含む)、またはエディターが失敗して終了した場合 (つまり、終了ステータスがゼロ以外の場合)、 は何も行いません。ファイルを保存せずにエディターを終了したり、ファイルを保存した後でもエディターを失敗させたりすることは、 () は中止する方法です。

どこかにタブまたは改行文字を含むパス名があり、これによって何かが壊れるのではないかと心配しvidirているなら、落ち着いてください。私の知る限り、vidirそもそもそのようなパス名では動作しません。

例:

  • vidir
    
    現在の作業ディレクトリの内容に対して動作しますが、サブディレクトリには動作しません。
  • vidir /chosen/directory
    
    選択したディレクトリの内容に対して動作しますが、サブディレクトリには動作しません。
  • vidir *.mp3
    
    展開したものに作用します*.mp3。一致しない場合は奇妙な結果になることがあります。この答え
  • find . -type f | vidir -
    
    によって提供されるパス名に作用し、find一般的に非常に強力なツールです(「理論」を参照)。私のこの答え)。デフォルトではfindサブディレクトリに降りることに注意してください。
  • EDITOR=kate vidir …
    
    のように動作しvidir …kateエディターとして使用します。

関連情報