コマンドの出力をマウスで選択してコピーし、テキストファイルやオフィス文書に貼り付けること、ありますよね。
しかしコマンドの出力が長いと、マウスで選択するのは大変です。
そんな時は「xclip」コマンドを使いましょう。コマンドの出力やファイルの内容を、簡単に「Xセレクション」や「クリップボード」に入れることができます。
また、逆にクリップボードの内容を出力することも可能です。
xclipのインストール
多くのディストリビューション「xclip」パッケージが利用可能です。
Ubuntuの場合、以下のボタンをクリックしてインストールできます。
次のコマンドでインストールすることもできます。
Ubuntu/Debian系の場合
sudo apt install -y xclipFedoraの場合
sudo dnf -y install xclipRedHat/CentOSの場合
sudo yum -y install xclipxclipの基本的な使い方
標準入力、もしくはファイルの内容を読み込んで「Xセレクション」に入れるには次のように実行します。
# 他のコマンドの出力をXセレクションに入れる
他のコマンド | xclip
# ファイルを読み込んでXセレクションに入れる
xclip ファイルなお、このコマンドで文字列が「コピー」されるのは「Xセレクション」です。マウスの中ボタン(ホイール)をクリックして貼り付けることができます。
Ctrl+Vで貼り付けたい場合は、次のように実行して「クリップボード」に文字列を入れます。
# 他のコマンドの出力をクリップボードに入れる
他のコマンド | xclip -selection c
# ファイルを読み込んでクリップボードに入れる
xclip -selection c ファイル なお、「-o」オプションを指定すると、Xセレクションやクリップボードの内容が出力されます。
# Xセレクションの内容を出力
xclip -o
# クリップボードの内容を出力
xclip -selection c -o xclipの主なオプション
- -selection [p|s|c|primary|secondary|clipboard]
- 入出力する対象を「Xプライマリセレクション」「Xセカンダリセレクション」「クリップボード」から指定します。指定しなければ「Xプライマリセレクション」が使われます。「p」「s」「c」のように頭文字だけでも指定できます。
- -o
- Xセレクションやクリップボードの内容を出力します。
xclipの実行例
# 「cal」コマンドの出力をXセレクションに入れる
cal | xclip
# クリップボードの内容を「clip.txt」に書き込む
xclip -selection c -o > clip.txt
# forループで実行したコマンドの出力を全部クリップボードに入れる
for i in 203.0.113.{1..254}; do echo $i; done | xclip -selection cmacOSの「pbcopy」や「pbpaste」を「xclip」で実現する
macOSには、クリップボードにコピーする「pbcopy」、クリップボードからペーストする「pbpaste」というコマンドがあります。
これを「xclip」で実現するには、「~/.bash_aliases」に以下のコマンドを追記します。
alias pbcopy='xclip -selection c'
alias pbpaste='xclip -selection c -o'そして、sourceコマンドで読み直します。
source ~/.bash_aliasesこれで、例えば次のように実行できるようになります。
# 「systemctl list-dependencies」の出力をクリップボードにコピー
systemctl list-dependencies | pbcopy
# クリップボードの内容をファイル「clip.txt」に出力
pbpaste > clip.txt xclipコマンドのヘルプ
Usage: xclip [OPTION] [FILE]...
Access an X server selection for reading or writing.
-i, -in read text into X selection from standard input or files
(default)
-o, -out prints the selection to standard out (generally for
piping to a file or program)
-l, -loops number of selection requests to wait for before exiting
-d, -display X display to connect to (eg localhost:0")
-h, -help usage information
-selection selection to access ("primary", "secondary", "clipboard" or "buffer-cut")
-noutf8 don't treat text as utf-8, use old unicode
-target use the given target atom
-version version information
-silent errors only, run in background (default)
-quiet run in foreground, show what's happening
-verbose running commentaryxclipコマンドのマニュアル
XCLIP(1) General Commands Manual XCLIP(1)
NAME
xclip - command line interface to X selections (clipboard)
SYNOPSIS
xclip [OPTION] [FILE]...
DESCRIPTION
Reads from standard in, or from one or more files, and makes the data
available as an X selection for pasting into X applications. Prints
current X selection to standard out.
-i, -in
read text into X selection from standard input or files
(default)
-o, -out
print the selection to standard out (generally for piping to a
file or program)
-f, -filter
when xclip is invoked in the in mode with output level set to
silent (the defaults), the filter option will cause xclip to
print the text piped to standard in back to standard out unmodi‐
fied
-l, -loops
number of X selection requests (pastes into X applications) to
wait for before exiting, with a value of 0 (default) causing
xclip to wait for an unlimited number of requests until another
application (possibly another invocation of xclip) takes owner‐
ship of the selection
-t, -target
specify a particular data format using the given target atom.
With -o the special target atom name "TARGETS" can be used to
get a list of valid target atoms for this selection. For more
information about target atoms refer to ICCCM section 2.6.2
-d, -display
X display to use (e.g. "localhost:0"), xclip defaults to the
value in $DISPLAY if this option is omitted
-h, -help
show quick summary of options
-selection
specify which X selection to use, options are "primary" to use
XA_PRIMARY (default), "secondary" for XA_SECONDARY or "clip‐
board" for XA_CLIPBOARD
-version
show version information
-silent
fork into the background to wait for requests, no informational
output, errors only (default)
-quiet show informational messages on the terminal and run in the fore‐
ground
-verbose
provide a running commentary of what xclip is doing
-noutf8
operate in legacy (i.e. non UTF-8) mode for backwards compati‐
bility (Use this option only when really necessary, as the old
behavior was broken)
xclip reads text from standard in or files and makes it available to
other X applications for pasting as an X selection (traditionally with
the middle mouse button). It reads from all files specified, or from
standard in if no files are specified. xclip can also print the con‐
tents of a selection to standard out with the -o option.
xclip was designed to allow tighter integration of X applications and
command line programs. The default action is to silently wait in the
background for X selection requests (pastes) until another X applica‐
tion places data in the clipboard, at which point xclip exits silently.
You can use the -verbose option to see if and when xclip actually
receives selection requests from other X applications.
Options can be abbreviated as long as they remain unambiguous. For
example, it is possible to use -d or -disp instead of -display. How‐
ever, -v couldn't be used because it is ambiguous (it could be short
for -verbose or -version), so it would be interpreted as a filename.
Note that only the first character of the selection specified with the
-selection option is important. This means that "p", "sec" and "clip"
would have the same effect as using "primary", "secondary" or "clip‐
board" respectively.
EXAMPLES
I hate man pages without examples!
uptime | xclip
Put your uptime in the X selection. Then middle click in an X applica‐
tion to paste.
xclip -loops 10 -verbose /etc/motd
Exit after /etc/motd (message of the day) has been pasted 10 times.
Show how many selection requests (pastes) have been processed.
xclip -o > helloworld.c
Put the contents of the selection into a file.
xclip -t text/html index.html
Middle click in an X application supporting HTML to paste the contents
of the given file as HTML.
ENVIRONMENT
DISPLAY
X display to use if none is specified with the -display option.
REPORTING BUGS
Please report any bugs, problems, queries, experiences, etc. directly
to the author.
AUTHORS
Kim Saunders <[email protected]> Peter Åstrand <[email protected]>
XCLIP(1)
コメント