ysrenamer

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2014 License: MIT Imports: 5 Imported by: 0

README

ysrenamer

シンプルなリネームツールです。

概要

あらかじめ設定ファイルに記述しておいたリネームコマンドをファイルに適用させることができます。

例えば、

{
  "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

このようにコマンドに従ってファイルリネームを実行します。

インストール

go get

go get github.com/yuukichi/ysrenamer/cmd/ysrenamer

設定ファイルの位置

Windows

%APPDATA%\ysrenamer\ysrenamer.json

Others

~/.ysrenamer.json

action

replace

args[0]に一致した部分をargs[1]で置換します。args[2]回置換を実行します。
args[2]の初期値は1で、負の値を入力すると全て置換します。
args[3]trueを指定すると拡張子を除外してリネームを実行します。

regexp_replace

args[0]で指定した正規表現に一致した部分をargs[1]全て置換します。
args[2]trueを指定すると拡張子を除外してリネームを実行します。

order

設定ファイルに記述されている他コマンドをargsに記述した順に実行します。

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Config *Json = func() *Json {
	var raw_data []byte
	var err error
	var js *Json

	_, err = os.Stat(ConfigPath)
	if os.IsNotExist(err) {
		raw_data = []byte("{}")
		err = ioutil.WriteFile(ConfigPath, raw_data, 0644)
	} else {
		raw_data, err = ioutil.ReadFile(ConfigPath)
	}
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	}

	js, err = NewJson(raw_data)
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	}
	return js
}()
View Source
var ConfigPath string = func() string {
	switch runtime.GOOS {
	case "windows":
		return os.Getenv("APPDATA") + "\\ysrenamer\\ysrenamer.json"
	default:
		return os.Getenv("HOME") + "/.ysrenamer.json"
	}
}()

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL