Rename

重命名命令出錯

  • November 22, 2019

我有重命名以下文件的問題

-data-02-03-04.dat

我猜這個問題來自以破折號開頭的文件名。嘗試重命名它時出現以下錯誤。

rename -data-02-03-04.dat data020304.dat
Unknown option: data-02-03-04.dat
Usage:
   rename [ -h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ]
   [ -e|-E perlexpr]*|perlexpr [ files ]

問題實際上來自以破折號開頭的文件名,因此它被視為rename命令的選項而不是參數。為避免此問題,只需遍歷文件的路徑:

mv ./-data-02-03-04.dat data020304.dat

我使用了mv對單個文件更方便的命令。rename命令主要用於批量重命名,需要perl正則表達式。

正如這裡所指出的,處理該問題的另一種方法是添加雙破折號--來表示命令選項的結束:

mv -- -data-02-03-04.dat data020304.dat

引用自:https://unix.stackexchange.com/questions/553587