允許您透過在文字編輯器中編輯檔案路徑來移動檔案的腳本名稱?

允許您透過在文字編輯器中編輯檔案路徑來移動檔案的腳本名稱?

我記得存在一個腳本,如下所示,它允許您通過在文本編輯器中打開目錄中所有文件的所有文件路徑來移動目錄中的文件 - 然後您可以在文本編輯器,退出文本編輯器後,它會重命名檔案。

我好像找不到這個腳本。有人知道它叫什麼?我相信它是 shell 腳本集合的一部分。

答案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與編輯器類似。

相關內容