まさおの忘れないメモ

忘れないメモ

linux renameコマンドで正規表現に使われる"["を置き換える

ディレクトリの名前を一括置換する

<対象>
[テスト]hoge1
[テスト]hoge2
[テスト]hoge3
[テスト]hoge4

<ダメな例>
[]が残ってしまう

$ rename "s/[テスト]//g" *  
$ ls  
  []hoge1  []hoge2  []hoge3  []hoge4  

sedコマンドの正規表現を参考にして、正規表現としての "["をエスケープして置換する。

<参考>
あえていうほどでもないsed入門 | TECHSCORE BLOG
基本的な正規表現一覧 | murashun.jp

<成功例>
[テスト]を置き換え

$ rename "s/\[テスト]//g" *   // バックスラッシュ(\)で正規表現をエスケープ  
$ ls  
  hoge1  hoge2  hoge3  hoge4