Grave o conteúdo editado do arquivo em stdout

Grave o conteúdo editado do arquivo em stdout

Preciso de um editor de texto visual que possa ser usado da seguinte maneira - o exemplo não funcionará, mas ilustra o ponto.

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

Este comando me permitirá descriptografar um arquivo, editá-lo e criptografá-lo novamente sem que o arquivo exista no disco em formato não criptografado. O problema é encontrar um editor que possa salvar o conteúdo editado no stdout. O único editor que encontrei foi o ed, que é muito hostil de usar. Eu preferiria um editor visual. Existe um editor que pode fazer isso ou, alternativamente, pode descriptografar e criptografar arquivos dentro do editor?

Responder1

Você pode usarvipepara editar 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.

O truque no uso de editores gráficos é garantir que eles não se desviem e iniciem um processo desanexado. Por exemplo, para usar o GVim:

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

Espero que você precise usar a -sopção com gedit:

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

Então:

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

Alternativamente, você pode tentareste plug-incom Vim.

informação relacionada