This is a CLI tool to interactively rearrange a text data on a terminal.
Since I couldn't find CLI tools for manually rearranging text data, I created this CLI tool. For this, at first, I created a Golang library go-rearrange.
Download an executable file from the release page and put to a directory with path.
or
Use go get.
$ go get -u github.com/tanaikech/gorearrange
This CLI tool uses termbox-go and go-rearrange.
Basically, you can use gorearrange as follows.
$ cat sample.txt | gorearrange
You can use the standard output >
to output the result as a file. If you use the command prompt on windows dos, please use type sample.txt | gorearrange
.
or
$ gorearrange -i sample.txt
For example, if you use msys2, you can use winpty gorearrange -i sample.txt
. You can use an option -o outputfile
to output the result as a file.
$ gorearrange help
Use up, down, page up, page down, home, end, enter, back space, Ctrl + c and escape keys.
Key | Effect |
---|---|
Up, Down | Moving one line |
Page up, Page down | Moving several lines |
Home, End | Moving top and bottom of data |
Enter | Selecting a value to rearrange |
Back space or Space | Reset the rearranged data |
Ctrl + c or Escape | Finishing rearranging |
-
v1.0.0 (October 15, 2017)
Initial release.
-
v1.0.1 (October 16, 2017)
- As one of outputs, indexmode (bool) was added. If this is true, the rearranged result is output as the change of index for the source data. For example, if the source data and rearranged data are
["a", "b", "c"]
and["c", "b", "a"]
, respectively. The output will become[2, 1, 0]
.
- As one of outputs, indexmode (bool) was added. If this is true, the rearranged result is output as the change of index for the source data. For example, if the source data and rearranged data are
-
v1.0.2 (October 18, 2017)
- From this version, data included multi-bytes characters can be used. At Linux, it works fine. At Windows DOS, rearranging and selecting data can be done. But the displayed data is shifted. Although this may be a bug of termbox-go, I don't know the reason. I'm sorry. On the other hand, data with only single-byte characters works fine. About MAC, I don't have it. If someone can confirm and tell me it, I'm glad.
-
v1.0.3 (January 3, 2020)
- It seems that the specification of
github.com/urfave/cli
was changed by the update of https://github.com/urfave/cli. By this, whengo get -u github.com/tanaikech/gorearrange
is run, an error occurred. So this error was removed.
- It seems that the specification of