将编辑后的文件内容写入标准输出

将编辑后的文件内容写入标准输出

我需要一个可以按如下方式使用的可视化文本编辑器 - 该示例不起作用但说明了要点。

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

此命令允许我解密文件、编辑文件并重新加密文件,而文件永远不会以未加密的形式存在于磁盘上。问题在于找到一个可以将编辑的内容保存到 stdout 的编辑器。我能找到的唯一编辑器是 ed,使用起来非常不友好。我更喜欢可视化编辑器。有没有可以做到这一点的编辑器,或者可以在编辑器中解密和加密文件?

答案1

您可以使用vipe编辑管道:

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.

使用图形编辑器的诀窍是确保它不会分叉并启动分离的进程。例如,要使用 GVim:

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

我希望您需要使用该-s选项gedit

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

所以:

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

或者你可以尝试这个插件使用 Vim。

相关内容