複数のファイル名から [] を削除したいのですが、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
これにより、現在のディレクトリ内のすべての角括弧がアンダースコアに置き換えられます。