Example:
printf "%s\n%s\n%s\n" alpha bravo charlie > example.txt
cat example.txt | checkline
You should see each line with a checkbox and text:
[ ] alpha
[ ] bravo
[ ] charlie
Move up and down in the list by typing arrow keys.
Check or uncheck any checkbox by typing space or return, such as:
[x] alpha
[ ] bravo
[x] charlie
Check each line that you want, then type ESC to finish.
The command outputs each line that you checked:
alpha
charlie
Install checkline as a typical Rust crate:
cargo install checkline
If people want other ways, such as with package managers, we welcome help to create these ways.
The purpose of this command is a simple picker, that is easy to use, and that work wells in on the command line such as within a pipe.
The purpose isn't intended to handle very long lines, or very long inputs.
markline
that's the same kind of tool plus markers:
https://github.com/sixarm/markline
vipe
that can pipe in and out of $EDITOR
:
https://github.com/juliangruber/vipe
peco
simplistic interactive filtering tool:
https://github.com/peco/peco
percol
adds interactive selection to the traditional pipe concept.
https://github.com/mooz/percol
canything
interactive grep tools:
https://github.com/keiji0/canything
zaw
zsh-friendly interactive grep tool:
https://github.com/zsh-users/zaw
fzf
interactive grep tool written in Go language.
https://github.com/junegunn/fzf
On some systems, you may need to set your localization environment variables.
Example:
export LC_COLLATE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
We welcome constructive criticism and ideas for improvements.
- Program: checkline
- Version: 1.1.3
- License: MIT OR BSD OR GPL-2.0 OR GPL-3.0
- Created: 2022-10-15T12:24:50Z
- Updated: 2024-06-07T17:43:21Z
- Website: https://github.com/sixarm/checkline
- Contact: Joel Parker Henderson (joel@joelparkerhenderson.com)