Escribir el contenido editado del archivo en stdout

Escribir el contenido editado del archivo en stdout

Necesito un editor de texto visual que pueda usarse de la siguiente manera: el ejemplo no funcionará pero ilustra el punto.

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

Este comando me permitirá descifrar un archivo, editarlo y volver a cifrarlo sin que el archivo exista en el disco sin cifrar. El problema es encontrar un editor que pueda guardar el contenido editado en la salida estándar. El único editor que pude encontrar es ed, que es muy poco amigable de usar. Preferiría un editor visual. ¿Existe un editor que pueda hacer esto o, alternativamente, pueda descifrar y cifrar archivos dentro del editor?

Respuesta1

Puedes usarvipepara editar tuberías:

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.

El truco al usar editores gráficos es asegurarse de que no se bifurque e inicie un proceso independiente. Por ejemplo, para usar GVim:

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

Supongo que necesitarás usar la -sopción con gedit:

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

Entonces:

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

Alternativamente, puedes intentareste complementocon Vim.

información relacionada