ファイル名の二重ハイフンを単一のハイフンに変更するには?

ファイル名の二重ハイフンを単一のハイフンに変更するには?

rename私は私のシステムの命名規則を制御するためにこのコマンドを使用してきました。ファイル名の空白をハイフンに変換中に、一部のファイル名に誤って連続したハイフンが生成されました。これらの問題は、 rename コマンドを使用して解決するのが難しいことがわかりました。

私は成功せず、次のようないくつかの異なる繰り返しを試しました。

rename 's/--/-/g'

私は二重ハイフンがパラメータの終わりのために予約されていることを知っていますが、バックスラッシュエスケープはここでは機能しないようですが、他のアイデアはありません。

私はコマンドライン処理に比較的慣れていないので、ご理解いただきありがとうございます。

答え1

現在のディレクトリ内のすべてのファイルの複数のハイフン(ハイフンの後に1つ以上のハイフンがある)を単一のハイフンに圧縮するには、次のようにします。

rename 's/--+/-/g' -- *

ファイルがハイフンで始まる場合、これは--重要です。それ以外の場合は、コマンドライン引数として解釈されます。*現在のディレクトリのファイルリストを展開します。

関連情報