ファイル名の特殊文字を名前変更コマンドで変更する

ファイル名の特殊文字を名前変更コマンドで変更する

複数のファイル名から [] を削除したいのですが、rename コマンドで実行するとエラーが発生します。

これを行う別の方法はありますか?

答え1

[]は、コマンドで使用される Perl 正規表現構文の特殊文字ですrename。コマンド\の前で使用してください。例:

rename "s/\[|\]/_/g" *

例:

s replace
[
| or
]
  with
_
* for all files here

答え2

私は次のコマンドを使うことを好みます:

for file in $(echo *|grep -E '(\[|\])'); do mv $file $(echo $file|sed -r 's/(\[|\])/_/g'); done

これにより、現在のディレクトリ内のすべての角括弧がアンダースコアに置き換えられます。

関連情報