golangでリネームツール作ってみました
クロスプラットフォームで使えるリネームツールが欲しくて作ってみました。
概要
あらかじめ設定ファイルに記述しておいたリネームコマンドをファイルに適用させることができます。
例えば、
{ "ltrim": { "action": "regexp_replace", "args": ["^\\s+", "", "true"] }, "rtrim": { "action": "regexp_replace", "args": ["\\s+$", "", "true"] }, "trim": { "action": "order", "args": ["ltrim", "rtrim"] } }
このようにJSON形式で設定ファイルを書いておくと、
$ ysrenamer rtrim "foo/bar .hoge" foo/bar .hoge -> foo/bar.hoge $ ysrenamer trim "foo/ bar .hoge" foo/ bar .hoge -> foo/bar.hoge
こんな感じでコマンドに従ってファイルリネームを実行します。
golangでプログラム書き始めて2日目だけど、とりあえず動くものが作れました。 やはりコンパイラ言語の中ではかなり書きやすいと思います。
ディレクトリ構造はpecoを参考にさせてもらいました。
go get
の挙動とかよく分かってないので不安でしたけれど、試してみたところ正常にインストールされるようになってました。