1163

Bashでクリップボードとの間でパイプすることは可能ですか?

デバイス ハンドルとのパイプ接続であろうと、補助アプリケーションの使用であろうと、何も見つかりません。

たとえば/dev/clip、デバイスがクリップボードにリンクしている場合、次のことができます。

cat /dev/clip        # Dump the contents of the clipboard
cat foo > /dev/clip  # Dump the contents of "foo" into the clipboard
4

31 に答える 31

1033

扱うことができるクリップボードはたくさんあります。おそらく、X Windows のプライマリ クリップボードに何かを入れたい Linux ユーザーだと思います。通常、会話したいクリップボードには、会話できるユーティリティがあります。

Xの場合、xclip(およびその他)があります。 ほとんどのアプリケーションで+ 、+でxclip -selection c動作するクリップボードにデータを送信します。CtrlCCtrlV

Mac OS X を使用している場合は、pbcopy. 例えば、cat example.txt | pbcopy

Linux ターミナル モード (X なし) を使用している場合は、クリップボードがあるgpmまたはScreenを調べます。Screen コマンドを試してくださいreadreg

Windows 10 以降または Cygwin では、/dev/clipboardまたはを使用しますclip

于 2009-04-15T05:57:40.697 に答える
334

を使用していることを確認してください。そうしないと、 +alias xclip="xclip -selection c" を使用して貼り付けることができなくなります。Ctrlv

例:実行後echo -n test | xclipCtrl+vは貼り付けますtest

于 2010-11-17T19:14:05.137 に答える
227

インストール

# You can install xclip using `apt-get`
apt-get install xclip

# or `pacman`
pacman -S xclip

# or `dnf`
dnf install xclip

apt-getnorpacmanや norにアクセスできない場合は、 sourceforgednfでソースを入手できます。

設定

バッシュ

~/.bash_aliases、次を追加します。

alias setclip="xclip -selection c"
alias getclip="xclip -selection c -o"

プロファイルを使用するか、プロファイルを再起動して、新しい構成をロードすることを忘れないでください. ~/.bash_aliases

~/.config/fish/config.fish、次を追加します。

abbr setclip "xclip -selection c"
abbr getclip "xclip -selection c -o"

変更を適用するには、端末を再起動して fish インスタンスを再起動することを忘れないでください。

使用法

setclipとを使用できるようになりましgetclipた。例:

$ echo foo | setclip
$ getclip
foo
于 2014-12-13T08:32:04.487 に答える
167

macOS では、組み込みのpbcopyおよびpbpasteコマンドを使用します。

たとえば、実行すると

cat ~/.bashrc | pbcopy

+ショートカットを使用して、ファイルの内容~/.bashrcを貼り付けることができます。CmdV

現在のクリップボードをファイルに保存するには、出力pbpasteをファイルにリダイレクトします。

pbpaste > my_clipboard.txt
于 2011-03-05T17:24:38.373 に答える
61

2018年の答え

clipboard-cliを使用します。macOS、Windows、Linux、OpenBSD、FreeBSD、および Android で問題なく動作します。

次を使用してインストールします。

npm install -g clipboard-cli

次に、次のことができます。

echo foo | clipboard 

必要に応じて、 、、またはcbに次のように記述してエイリアスを作成できます。.bashrc.bash_profile.zshrc

alias cb=clipboard
于 2018-04-05T19:13:22.023 に答える
43

試す

xclip

xclip - command line interface to X selections (clipboard) 

于 2009-04-14T22:33:14.057 に答える
12

これは、複数のプラットフォームで動作するクリップボードを読み取るための、すぐに使用できる Bash スクリプトです。

機能を追加する場合は、ここでスクリプトを編集してください (たとえば、より多くのプラットフォーム)。

#!/bin/bash
# WF 2013-10-04
#
# Multi-platform clipboard read access
#
# Supports
#   Mac OS X
#   Git shell / Cygwin (Windows)
#   Linux (e.g., Ubuntu)

#
# Display an error
#
error() {
  echo "error: $1" 1>&2
  exit 1
}

#
# getClipboard
#
function getClipboard() {
 os=`uname`
      case $os in
        # Git Bash  (Windows)
        MINGW32_NT-6.1)
          cat /dev/clipboard;;
        # Mac OS X
        Darwin*)
          pbpaste;;
        # Linux
        Linux*)
          # Works only for the X clipboard - a check that X is running might be due
          xclip -o;;
        *)
          error "unsupported os $os";;
      esac
}

tmp=/tmp/clipboard$$
getClipboard >$tmp
cat $tmp
# Comment out for debugging
rm $tmp
于 2013-10-04T15:39:22.333 に答える
11

Windows (Cygwin を使用) では 、この記事に記載されているようにcat /dev/clipboardorを試してください。echo "foo" > /dev/clipboard

于 2011-05-31T13:33:27.990 に答える
10

Linuxにはさまざまなクリップボードがあります。Xサーバーには1つあり、ウィンドウマネージャーには別のデバイスがある場合があります。標準のデバイスはありません。

そうそう、CLIでは、 Emacsviなどの他のアプリケーションと同様に、画面プログラムにも独自のクリップボードがあります。

Xでは、xclipを使用できます。

このスレッドで他の可能な回答を確認できます:http: //unix.derkeiler.com/Newsgroups/comp.unix.shell/2004-07/0919.html

于 2009-04-14T22:12:23.953 に答える
6

これは、必要なことだけを実行する単純な Python スクリプトです。

#!/usr/bin/python

import sys

# Clipboard storage
clipboard_file = '/tmp/clipboard.tmp'

if(sys.stdin.isatty()): # Should write clipboard contents out to stdout
    with open(clipboard_file, 'r') as c:
        sys.stdout.write(c.read())
elif(sys.stdout.isatty()): # Should save stdin to clipboard
    with open(clipboard_file, 'w') as c:
        c.write(sys.stdin.read())

これを実行可能ファイルとしてパスのどこかに保存します (私は に保存しました/usr/local/bin/clip。クリップボードに保存するものをパイプすることができます...

echo "Hello World" | clip

そして、クリップボードにあるものを他のプログラムにパイプすることができます...

clip | cowsay
 _____________
< Hello World >
 -------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

単独で実行すると、クリップボードにあるものが出力されます。

于 2015-05-06T04:57:25.233 に答える
5

pbcopy は OS X に組み込まれています。

ファイル.bash_profileの内容をコピーする:

cat ~/.bash_profile | pbcopy
于 2020-01-30T10:15:57.490 に答える
2

何年も前に書いたいくつかの Windows プログラム。クリップボードをダンプ、プッシュ、追加、および印刷できます。それはこのように動作します:

dumpclip | perl -pe "s/monkey/chimp/g;" | pushclip

ソースコードが含まれています: cmd_clip.zip

于 2014-06-08T14:38:16.903 に答える
2

gclipこのスレッドから、 / xclip/xselサードパーティ ソフトウェアをインストールする必要のないオプションがあります。

Perl スクリプト (通常、Perl は常にインストールされているため)

use Win32::Clipboard;
print Win32::Clipboard::GetText();
于 2017-09-23T00:24:32.900 に答える
0

xclip-copyfileもあります。

于 2016-08-29T11:33:04.330 に答える