コマンドの各出力に文字を追加するにはどうすればよいですか?

コマンドの各出力に文字を追加するにはどうすればよいですか?

コマンドを実行しており、以下の例に示すように、各コマンドごとに具体的にグループ化したいと思います。印刷しようとしましたが、echo -e '| $line'ファイルに含まれるテキストを出力するコマンドにのみ影響します。

背景

もともと表示された端末コマンドは、次のようなビデオを見ました。一部以下の例のように「|」を使用してグループ化します。すべての出力が各行の先頭に「|」文字を持つように.bashrc/ファイルの.bash_profile関数をカスタマイズまたは生成しようとしています。

議論も見つかりました。ここ。したがって、おそらく私はSTDERRとSTDOUTの関数を作成します(言及したように)。ここ)。

はい

+>system:~/sample
| No command 'sample' found, did you mean:
|  Command 'yample' from package 'yample' (universe)
|  Command 'ample' from package 'ample' (universe)
| sample: command not found
+>system:~/sudo apt-get update 
| [sudo] password for system: 
| Ign http://dl.google.com stable InRelease
| Hit http://dl.google.com stable Release.gpg                                    
| Ign http://security.ubuntu.com trusty-security InRelease                       
| yadda yadda ...
+>system:~/

ベストアンサー1

sedコマンドを使用してパイプラインを試して、行の先頭^()を目的のプレフィックス()に置き換えることができます|。たとえば、次のようになります。

some_command | sed 's/^/| /'

これは単純なコマンドではうまく機能しますが、より複雑なアプリケーションはカーソルをマイナーな方法で配置し、複数のコマンドの出力を遅らせるため失敗します(ラインバッファリングでより大きなバッファ領域を使用してコマンドが実行されたことを確認する)。標準出力は端末です)。

私は通常このアプローチをあきらめ、代わりに目立つシェルプロンプトを設定することをお勧めします(太字、イタリック体、色、背景色、特殊なUnicode文字などを使用)。

おすすめ記事