yank
— yank
terminal output to clipboard
yank |
[-1ilxv ] [-d
delim] [-g
pattern] [--
command [argument ...]] |
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.
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.
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.
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
The yank
utility exits 0 on
success, and >0 if an error occurs.
Recognizing fields enclosed in brackets requires ‘]’
to be present before ‘[’ in the argument given to the
-d
option, see
re_format(7).