2016-12-19 10 views
0

私のプログラムでgccによって設立されたエラーの順序を逆にしたいと思います。どうして?最後の行で最初のエラーを読み取り、最初の行までスクロールしないようにします。gcc出力の順序を逆にする

gcc、cat、tail、およびheadのマニュアルで、結果なしの--reverseなどのコマンドを検索しました。だから、逆の順序で標準入力を印刷するプログラムにしたいと思う。誰でもそのようなことを知っていますか?

+0

あなたは 'tac'を試しましたか?このようなものはうまくいくはずです: 'gcc main.c 2>&1 | 'gcc'がそのエラーメッセージをstderrに表示するので' 2>&1'が必要です)** EDIT **:これはメッセージの正確な逆を表示します。これは ' gcc'。これがあなたが探している行動ではない場合は、あなたの質問を拡大できますか? – Aserre

+0

@Aserreはい、それは私が探しているものですが、それは構造を保存しませんが、少し速くより速くデバッグするためにその大丈夫です。しかし今、色は表示されません。 – JoseLinares

答えて

1

あなたは次のスクリプトを試みることができる:

unbuffer gcc main.c 2>&1 | tac 

は説明:

  • unbufferは:パイプ用のバッファリングを無効にし、gccが実行を通じて、カラースキームを保持することができます。
  • gcc main.c 2>&1
    • あなたgccコマンドが(それは単に1つのファイルに限定されるものではなく、ただ、最後のパラメータとしてリダイレクトを保つ。)限り、あなたが必要としても、あなたが通常使用しているすべてのfalgsを含めることができます
    • 2>&1:I/Oリダイレクト。 catと同じコマンドが、逆に、連結結果を出力:stderrstdout
  • tacにリダイレクトされます。あなたはそれがあなたのマシンにインストールされていない場合

unbufferは、Debianベースのディストリビューションのパッケージexpect-devであり、そしてtaccoreutilsの一部です。

+0

何を探していますか、ありがとう、@アサーレ。 Fedoraでは、このパッケージはexpect-develと呼ばれています – JoseLinares

関連する問題