ページ

2013/08/16

[HomeBrew]正規表現でファイル名を置換するrenameコマンド

Android Asset Studioでランチャーアイコンを生成するのだけど
ファイル構成が以下のようになっていて毎度ファイル名を修正するのが面倒だったので
rename コマンドをインストールしてみた。
rename // plasmasturm.org

res
├── drawable-hdpi
│   └── ic_launcher.png
├── drawable-mdpi
│   └── ic_launcher.png
├── drawable-xhdpi
│   └── ic_launcher.png
└── drawable-xxhdpi
    └── ic_launcher.png
brew install renameでやってみると何故か失敗するので調べてみると以下のようになっていたので
require 'formula'

class Rename < Formula
  url 'http://plasmasturm.org/code/rename/rename', :using => :nounzip
  version '0.1.3'
  homepage 'http://plasmasturm.org/code/rename'
  sha1 'a2235a402d18495513edf690445e0030f31c9ab3'

  def install
    system 'pod2man', 'rename', 'rename.1'
    bin.install 'rename'
    man1.install 'rename.1'
  end
end
以下のように修正したら成功しました。
require 'formula'

class Rename < Formula
  homepage 'http://plasmasturm.org/code/rename'
  url 'https://github.com/ap/rename/archive/v1.600.tar.gz'
  sha1 'a7946ce3602e3810aaa70300674ccb26832634ed'

  def install
    system 'pod2man', 'rename', 'rename.1'
    bin.install 'rename'
    man1.install 'rename.1'
  end
end
これで rename コマンドが使えるようになったけど再帰的にリネームはできなっぽいので
以下のようなコマンドで対応しました。
find res -type f -name 'ic_launcher.png' | xargs rename 's/launcher/orientation_landscape/'
res
├── drawable-hdpi
│   └── ic_orientation_landscape.png
├── drawable-mdpi
│   └── ic_orientation_landscape.png
├── drawable-xhdpi
│   └── ic_orientation_landscape.png
└── drawable-xxhdpi
    └── ic_orientation_landscape.png
正規表現使ってないけど rename コマンドが便利な時が来るはず。

きっかけ


これよりは便利。@gabuさんありがとうございます。