yank - Man Page
yank terminal output to clipboard
Examples (TL;DR)
Synopsis
Description
Read input from stdin
and display a selection interface that allows a field to be selected and copied to the clipboard. Fields are either recognized by a regular expression using the -g option or by splitting the input on a delimiter sequence using the -d option, see Delimiters.
Using the arrow keys will move the selected field, see Commands. Pressing the return key will invoke command and write the selected field to its stdin
. The command defaults to xsel(1x) but could be anything that accepts input on stdin
, see Examples.
The options are as follows:
- -1
If only one field is recognized, select it and invoke command without displaying the selection interface.
- -d delim
All input characters not present in delim will be recognized as fields, see Delimiters.
- -g pattern
Use pattern to recognize fields, expressed as a POSIX extended regular expression.
- -i
Ignore case differences between pattern and the input.
- -l
Use the default delimiters except for space, see Delimiters.
- -v
Prints version.
- -x
Use alternate screen.
- -- command [argument ...]
Use command with zero or more args as the yank command.
Commands
- Ctrl-A | g
Move selection to the first field.
- Ctrl-C | Ctrl-D
Exit without invoking the yank command.
- Ctrl-E | G
Move selection to the last field.
- Ctrl-P/Ctrl-N | Left/Right | h/l
Move selection to the left or right.
- Up/Down | j/k
Move selection to the next or previous line.
- Enter
Exit using the selected field.
Delimiters
If the -d and -g options are omitted the following characters are recognized as delimiters by default:
- \f
form feed
- \n
new line
- \r
carriage return
- \s
space
- \t
horizontal tab
If the -d option is present space is not recognized as a delimiter.
Examples
Yank an environment variable key or value:
$ env | yank -d =
Yank a field from a CSV file:
$ yank -d \", <file.csv
Yank a whole line using the -l option:
$ make 2>&1 | yank -l
If stdout
is not a terminal the selected field will be written to stdout
and exit without invoking the yank command. Kill the selected PID:
$ ps ux | yank -g [0-9]+ | xargs kill
Yank the selected field to the clipboard as opposed of the default primary clipboard:
$ yank — xsel -b
Diagnostics
The yank utility exits 0 on success, and >0 if an error occurs.
See Also
re_format(7)
Authors
Anton Lindqvist <anton@basename.se>
Caveats
Recognizing fields enclosed in brackets requires ‘]’ to be present before ‘[’ in the argument given to the -d option, see re_format(7).