ヘッドレス viスタイルエディタによるパイプライン

ヘッドレス viスタイルエディタによるパイプライン

私はvi確信しています。私はコマンドラインで作業するときにこれを使いたいと思います。

プロセスの標準出力をviのヘッドレスバージョンと同じものにパイプし、それを標準出力にパイプする簡単な方法はありますか?

このような:

$ uname -a | <headless_vi> "3f D"
Linux robbie 4.8.13-1-ARCH

答え1

sed@JdeBPが指摘したように、ストリームエディタを使用するか、次のものを使用することをお勧めしますcut

$ uname -a | cut -d ' ' -f 1-3
OpenBSD box 6.0

またはクリップを完全に削除した場合、

$ uname -snr
OpenBSD box 6.0

問題viは、ストリーム編集モードがないことです。ラインエディタex する「バッチモード」がありますが、ほとんど使用されず、他の行エディタと同様に、1行で「カーソルを前後に移動する」ことはできません。

sededストリームに編集スクリプトを適用するように特別に設計されたラインエディタのストリームエディタのバージョン。このviエディタはラインエディタの画面エディタのバージョンであり、exエディタexはですed

コマンドviシーケンスは行の3番目(スペース)に移動し、3f␣次のコマンドは行の残りの部分を削除します。画面編集機能があれば便利です。D

edsedおよび では、ex行を追加、削除、または行を変更できます。ここで、「行」とは「一度に全行」を意味する。edorで同じことをするには、exバッファの正しい行にあると仮定していますs。この場合は些細なことではありません。

の場合、sed次の形式を取ります。

$ uname -a | sed 's/PATTERN/REPLACEMENT/'

関連情報