パイプコマンド、stdin修正、stdoutへの書き込み

パイプコマンド、stdin修正、stdoutへの書き込み
echo Hello World | nano - | less

テキストエディタでHello - > Goodbyeを修正したいと思います。

Nanoで使用する必要はありません。 Nanoがstdinを読み込んでいますが、ファイルに書き込むように要求しています(書き込み - -というファイルを生成)。

ベストアンサー1

これその他のユーティリティvipeマンページにはpackageという素晴らしいコマンドがあります。

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 close
       it, that data will be piped into command2.

デフォルトでは、このコマンドはeditor通常、デフォルトのコマンドラインエディタへのシンボリックリンクであるコマンドを使用します。リンクを変更する(update-alternativesDebianベースのシステムの場合)、またはEDITOR環境変数を使用してこの設定を変更できます。たとえば、次のようにできます。

echo Hello World | EDITOR=nano vipe | less

それ以外の場合、特定のテキストエディタがそのような機能をサポートしていない場合は、手動で一時ファイルを作成し、そこにファイルを書き込み、エディタを実行し、残りのパイプラインにファイルを供給してから一時ファイルを削除します。このvipeコマンドはデフォルトですべてを処理します。大丈夫ですが、基本的にコマンドはほとんど使用できません。

おすすめ記事