昨日私はコンソール出力をファイルに保存する方法を質問しました(redirect only last line of STDOUT to a file参照)。今度はファイルを繰り返し、コンパイルします。ここに私のコマンドです:昨日、ファイルの最後の行とファイル名をSTDOUTとパイプ経由で保存しました。
コンパイルの最後の出力とファイルの名前を保存します。上の例では、$ REPORTだけが保存されますが、反復変数の名前を参照したいと思います。例えば
私はファイルTest_Condition.scalaを持っていると、上記のコマンドを実行します。次に
for REPORT in Test_Basic_*.scala; do
scalac -Xplugin:divbyzero.jar $REPORT | awk 'END{print $REPORT} END{print}' >> output.txt;
done
scalac -Xplugin:divbyzero.jar $REPORT
は、次のような出力を生成:
You have overwritten the standard meaning
Literal:()
rhs type: Int(1)
Constant Type: Constant(1)
We have a literal constant
List(localhost.Low)
Constant Type: Constant(1)
Literal:1
rhs type: Int(2)
Constant Type: Constant(2)
We have a literal constant
List(localhost.High)
Constant Type: Constant(2)
Literal:2
rhs type: Boolean(true)
Constant Type: Constant(true)
We have a literal constant
List(localhost.High)
Constant Type: Constant(true)
Literal:true
LEVEL: H
LEVEL: H
okay
LEVEL: H
okay
false
symboltable: Map(a -> 219 | Int | object TestIfConditionWithElseAccept2 | normalTermination | L, c -> 221 | Boolean | object TestIfConditionWithElseAccept2 | normalTermination | H, b -> 220 | Int | object TestIfConditionWithElseAccept2 | normalTermination | H)
pc: Set(L, H)
は今、私はTest_Condition.scala
OUTPUT.TXTで保存したいです(ファイルの名前)とpc: Set(L, H)
(コンパイル出力の最後の行です)。上記の私の命令で私は$REPORT pc: Set(L, H)
を保存するだけです。
この説明が複雑な場合は、私に教えてください。あなたの素晴らしいサポートに感謝します。
マティアス
私が欲しいものは何千ものありがとうウィリアムは私を救いました。私は 'printf'コマンドを学びました。 –
リダイレクトを最後まで移動することができます。ファイルを最初にクリアする必要はありません: 'for ... done> output' –