名前変更コマンドでエラーが発生しました

名前変更コマンドでエラーが発生しました

次のファイルの名前を変更する際に問題が発生しました

-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 ]

答え1

問題は実際にはダッシュで始まるファイル名から発生しており、これはrename引数ではなくコマンドのオプションとして扱われます。この問題を回避するには、ファイルのパスを調べるだけです。

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

mv1 つのファイルに対してより便利なコマンドを使用しました。renameコマンドは主にバッチ名前変更に使用され、perl正規表現が必要です。

指摘したようにここ--この問題に対処する別の方法は、コマンド オプションの終了を示す二重ダッシュを追加することです。

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

答え2

rename思った通りには動作しません。

次のいずれかを実行できます。

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

本当に rename を使用したい場合は、正しい構文は次のようになります。

rename 's/-//g' ./-data-02-03-04.dat
rename 's/-//g' -- -data-02-03-04.dat

関連情報