it-swarm.com.de

Kopieren Sie den Inhalt einer Datei in die Zwischenablage, ohne deren Inhalt anzuzeigen

So kopieren Sie den Inhalt einer Datei unter UNIX, ohne den Dateiinhalt anzuzeigen. Ich möchte nicht cat oder vi, um den Inhalt zu sehen.

Ich möchte sie in die Zwischenablage kopieren, damit ich sie wieder in meinen Windows-Notizblock einfügen kann.

Ich kann die Datei aufgrund von Zugriffsbeschränkungen nicht von diesem Server auf einen anderen kopieren.

87
Web Nash

X11

Wenn Sie X11 verwenden (die häufigste Benutzeroberfläche auf herkömmlichen Unix- oder Linux-basierten Systemen), kopieren Sie den Inhalt einer Datei in die X11 CLIPBOARD-Auswahl, ohne dass angezeigt wird können Sie das Dienstprogramm xclip oder xsel verwenden.

xclip -sel c < file

Oder:

xsel -b < file

Speichern des Inhalts von file als CLIPBOARD X11-Auswahl.

Beachten Sie, dass es mit einer UTF-8-Codierung gespeichert werden sollte. Andernfalls funktioniert das Einfügen nicht ordnungsgemäß. Wenn das file mit einem anderen Zeichensatz codiert ist, sollten Sie zuerst in UTF-8 konvertieren, wie:

iconv -f latin1 -t utf8 | xclip -sel c

Für eine in latin1 / iso8859-1 codierte Datei.

Um es als CUT_BUFFER zu speichern (diese werden von einigen Anwendungen wie xterm immer noch abgefragt, wenn nichts die CLIPBOARD- oder PRIMARY X-Auswahl beansprucht und kein Prozess ausgeführt werden muss, um es wie für die Auswahl bereitzustellen) wahrscheinlich wird oder muss das heutzutage nicht mehr verwendet werden:

xprop -root -format CUT_BUFFER0 8s -set CUT_BUFFER0 "$(cat file)"

(Entfernt die nachgestellten Zeilenumbrüche aus file).

GNU-Bildschirm

GNU screen verfügt über den Befehl readbuf, um den Inhalt einer Datei in einen eigenen Copy-Paste-Puffer (den Sie mit ^A]). Damit:

screen -X readbuf file

Apple OS/X.

Obwohl Apple OS/X kann X11 verwenden. Dies ist standardmäßig nur möglich, wenn Sie eine X11-Anwendung ausführen wäre in der Lage, xclip oder xsel dort zu verwenden, da OS/X die X11 CLIPBOARD-Auswahl mit OS/X-Pasteboard-Puffern synchronisieren sollte, aber das wäre eine Verschwendung, um den X11-Server zu starten nur dafür.

Unter OS/X können Sie den Befehl pbcopy verwenden, um beliebigen Inhalt in Pasteboard-Puffern zu speichern:

pbcopy < file

(Es wird erwartet, dass die Zeichenkodierung der Datei die des Gebietsschemas ist.).

Muscheln

Die meisten Shells haben ihre eigenen Copy-Paste-Puffer. Im Emacs-Modus speichern Ausschneide- und Kopiervorgänge den kopierten/ausgeschnittenen Text auf einem Stapel, mit dem Sie ziehen/einfügen Ctrl-Yund radeln mit Alt+Y

zsh CUTBUFFER/Killring

In zsh wird der Stapel im $killring Array und die Oberseite des Stapels im $CUTBUFFER Variable, obwohl diese Variablen nur über Zsh Line Editor (zle) -Widgets verfügbar sind und einige spezielle Widgets die bevorzugte Methode sind, um diese zu bearbeiten.

Da diese nur über das ZLE verfügbar sind, ist die Ausführung mit Befehlen etwas kompliziert:

zmodload zsh/mapfile
zle-line-init() {
  if [ -n "$FILE_TO_COPY" ]; then
    zle copy-region-as-kill $mapfile[$FILE_TO_COPY]
    unset FILE_TO_COPY
  fi
}
zle -N zle-line-init
file-copy() FILE_TO_COPY=$1:A       

Das zle-line-init Ein spezielles Widget wird einmal zu Beginn jeder neuen Eingabeaufforderung ausgeführt. Dies bedeutet, dass die Datei erst bei der nächsten Eingabeaufforderung kopiert wird. Wenn Sie zum Beispiel Folgendes tun:

file-copy file; sleep 2

Die Datei wird erst nach diesen 2 Sekunden kopiert.

100

Vielleicht wolltest du das fragen . Jede Datei, die Sie lesen möchten, muss jedoch durch einen Systemaufruf geöffnet werden. Wenn Sie keinen Zugriff auf eine Datei haben, können Sie diese nicht lesen. Das ist die Idee des eingeschränkten Zugangs.

2
ikrabbe

Verwenden von X11:

xclip -o > file

Wenn Sie die Datei lesen können, betrifft das Zugriffsproblem den Zielserver.

0
tjombka

Ich habe xclip installiert und ein Skript mit dem Namen "copy" erstellt, dessen Argument ein Dateiname ist.

#! /bin/bash
xclip -selection clipboard -i [email protected]

Anwendungsbeispiel: copy id_rsa.pub kopiert meinen öffentlichen Schlüssel in die Zwischenablage.

0
ahoffer