yank - Man Page

yank terminal output to clipboard

Examples (TL;DR)

Synopsis

yank[-1ilxv] [-d delim] [-g pattern] [-- command [argument ...]]

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).

Info

July 10, 2015