私は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行で「カーソルを前後に移動する」ことはできません。
sed
ed
ストリームに編集スクリプトを適用するように特別に設計されたラインエディタのストリームエディタのバージョン。このvi
エディタはラインエディタの画面エディタのバージョンであり、ex
エディタex
はですed
。
コマンドvi
シーケンスは行の3番目(スペース)に移動し、3f␣
次のコマンドは行の残りの部分を削除します。画面編集機能があれば便利です。␣
D
ed
、sed
および では、ex
行を追加、削除、または行を変更できます。ここで、「行」とは「一度に全行」を意味する。ed
orで同じことをするには、ex
バッファの正しい行にあると仮定していますs
。この場合は些細なことではありません。
の場合、sed
次の形式を取ります。
$ uname -a | sed 's/PATTERN/REPLACEMENT/'