ファイルの編集内容を標準出力に書き込む

ファイルの編集内容を標準出力に書き込む

次のように使用できるビジュアル テキスト エディターが必要です。例は機能しませんが、要点を説明します。

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

このコマンドを使用すると、ファイルを暗号化解除し、編集して、ディスク上に暗号化されていない状態で存在することなく、再度暗号化することができます。問題は、編集した内容を標準出力に保存できるエディターを見つけることです。私が見つけた唯一のエディターは 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 で。

関連情報