Skip to content

xztaityozx/sel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sel

select columns

Go

extra cut(1) command with awk's column selection and slice notation.

example

Install

go install

$ go install github.com/xztaityozx/sel

Download binary from GitHub Releases

Download prebuild binary from release page

(Optional) Shell completion script

Completion script is available for bash, fish, PowerShell and zsh.

# example
# for bash
$ source <(sel completion bash)
# for fish
$ sel completion fish | source
# for PowerShell
$ sel completion powershell | Out-String | Invoke-Expression
# for zsh
$ sel completion zsh > ${fpath[1]}/_sel

Usage


          _ 
 ___  ___| |
/ __|/ _ \ |
\__ \  __/ |
|___/\___|_|

__sel__ect column

Usage:
	sel [queries...]

Query:
	index                        select 'index'
	start:stop                   select columns from 'start' to 'stop'
	start:stop:step              select columns each 'step' from 'start' to 'stop'

	start:/end regexp/           select columns from 'start' to /end regexp/
	/start regexp/:end           select columns from /start regexp/ to 'end'
	/start regexp/:/end regexp/  select columns from /start regexp/ to /end regexp/

Examples:

	$ cat /path/to/file | sel 1
	$ sel 1:10 -f ./file
	$ cat /path/to/file.csv | sel -d, 1 2 3 4 -- -1 -2 -3 -4
	$ cat /path/to/file.csv | sel --csv 1 2 3 4
	$ sel 2:: -f ./file
	$ cat /path/to/file | sel /^begin/:/^end/
	$ echo AAA BBB CCC | sel --template 'one: {} two: {} three: {}' 1 2 3

Available Commands:
  completion  Generate completion script
  help        Help about any command

Flags:
      --csv                       parse input file as CSV
  -a, --field-split               shorthand for -gd '\s+'
  -h, --help                      help for sel
  -d, --input-delimiter string    sets field delimiter(input) (default " ")
  -f, --input-files strings       input files
  -D, --output-delimiter string   sets field delimiter(output) (default " ")
  -r, --remove-empty              remove empty sequence
  -S, --split-before              split all column before select
  -t, --template string           template for output
      --tsv                       parse input file as TSV
  -g, --use-regexp                use regular expressions for input delimiter
  -v, --version                   version for sel

Use "sel [command] --help" for more information about a command.

Features

  • one-indexed
  • index 0 refers to the entire line. (like awk)
  • slice notation

About

**sel**ect columns

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages