вчера я задал вопрос как сохранить вывод консоли в файл (см. перенаправить только последнюю строку STDOUT в файл ).Теперь я перебираю файлы, собираю их.Вот моя команда:
for REPORT in Test_Basic_*.scala; do
scalac -Xplugin:divbyzero.jar $REPORT | awk 'END{print $REPORT} END{print}' >> output.txt
done
Я хочу сохранить последний вывод компиляции и имя файла.В приведенном выше примере будет сохранен только $ 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)
Теперь я хочу сохранить в output.txt Test_Condition.scala
(имя файла) и pc: Set(L, H)
(поэтому последняя строкавывод компиляции).С моей командой выше я сохраняю только $REPORT pc: Set(L, H)
.
Если это объяснение слишком сложное, просто скажите мне.Спасибо за вашу большую поддержку.
Матиас