1315 Stimmen

Pipe in/aus der Zwischenablage in einem Bash-Skript

Ist es möglich, Pipe zu/von der Zwischenablage in Bash?

Egal, ob es sich um Piping zu/von einem Geräte-Handle oder um eine Hilfsanwendung handelt, ich kann nichts finden.

Zum Beispiel, wenn /dev/clip war ein Gerät, das mit der Zwischenablage verbunden war, was wir tun konnten:

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

2voto

jeng Punkte 21

Ein paar Windows-Programme, die ich vor Jahren geschrieben habe. Mit ihnen kann man die Zwischenablage auslagern, verschieben, anhängen und drucken. Es funktioniert wie folgt:

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

Sie enthält den Quellcode: cmd_clip.zip

2voto

Mahdi-Malv Punkte 11981

Für mac können Sie diese Funktion verwenden, die mit pbcopy y pbpaste aber ein bisschen einfacher:

Fügen Sie dies zu Ihrem .bashrc o .zshrc :

clp() {
  if [[ -z "$1" ]]
  then
    # No input - act as paste
    pbpaste;
  else
    # Input exists - act as copy
    echo "$1" | pbcopy;
  fi
}

Zum Kopieren verwenden Sie clp "Content" und zum Einfügen verwenden Sie clp

1voto

jiahut Punkte 1393

Unter macOS verwenden Sie pbpaste .

Zum Beispiel:

Aktualisieren der Zwischenablage

pbpaste  | ruby -ne ' puts "\|" + $_.split( )[1..4].join("\|") ' | pbcopy

0voto

Jonathon Reinhart Punkte 123962

Außerdem gibt es xclip-copyfile .

0voto

horta Punkte 1100

Wenn Sie wie ich auf einem Linux-Server ohne Root-Rechte arbeiten und es keine xclip o GPM Sie können dieses Problem umgehen, indem Sie einfach eine temporäre Datei verwenden. Zum Beispiel:

$ echo "Hello, World!" > ~/clip
$ echo `cat ~/clip`
Hello, World!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X