Bearbeiteten Inhalt der Datei in stdout schreiben

Bearbeiteten Inhalt der Datei in stdout schreiben

Ich brauche einen visuellen Texteditor, der wie folgt verwendet werden kann – das Beispiel funktioniert nicht, veranschaulicht aber den Punkt.

gpg2 -d x.gpg | gedit -w - | gpg2 -e -o x.gpg

Mit diesem Befehl kann ich eine Datei entschlüsseln, bearbeiten und erneut verschlüsseln, ohne dass die Datei jemals unverschlüsselt auf der Festplatte vorhanden ist. Das Problem besteht darin, einen Editor zu finden, der die bearbeiteten Inhalte in stdout speichern kann. Der einzige Editor, den ich finden konnte, ist ed, der sehr unbenutzerfreundlich ist. Ich würde einen visuellen Editor viel lieber haben. Gibt es einen Editor, der dies kann oder alternativ Dateien im Editor entschlüsseln und verschlüsseln kann?

Antwort1

Sie könnenvipeSo bearbeiten Sie Pipelines:

SYNOPSIS
       command1 | vipe | command2

DESCRIPTION
       vipe allows you to run your editor in the middle of a unix pipeline and
       edit the data that is being piped between programs. Your editor will
       have the full data being piped from command1 loaded into it, and when
       you save, that data will be piped into command2.

ENVIRONMENT VARIABLES
       EDITOR
           Editor to use.

Der Trick bei der Verwendung grafischer Editoren besteht darin, sicherzustellen, dass sie nicht abzweigen und einen getrennten Prozess starten. So verwenden Sie beispielsweise GVim:

gpg2 -d x.gpg | EDITOR='gvim -f' vipe | gpg2 -e -o x.gpg

-sIch gehe davon aus, dass Sie die Option mit Folgendem verwenden müssen gedit:

-s, --standalone
      Run gedit in standalone mode.

Also:

gpg2 -d x.gpg | EDITOR='gedit -s' vipe | gpg2 -e -o x.gpg

Alternativ könnten Sie versuchendieses Pluginmit Vim.

verwandte Informationen