Перенаправить только последнюю строку STDOUT в файл
я компилирую код Scala и записываю выходные данные консоли в файл. Я хочу сохранить только последнюю строку STDOUT в файле. Вот команда:
scalac -Xplugin:divbyzero.jar Example.scala >> output.txt
выход scalac-Xplugin: divbyzero.пример банку.scala является:
helex@mg:~/git-repositories/my_plugin$ scalac -Xplugin:divbyzero.jar Example.scala | tee -a output.txt
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)
и я хочу сохранить только pc: Set (L, H) в выходном файле, а не остальные. С помощью какой команды я могу достичь своей цели?
5 ответов
можно использовать tail
:
scalac -Xplugin:divbyzero.jar Example.scala | tail -1 >> output.txt
scalac ... | awk 'END{print>>"output.txt"}1'
Это будет передавать все через stdout и добавить последнюю строку в выходной.формат txt.
в Bash и других оболочках, поддерживающих замену процесса:
command | tee >(tail -n 1 > outputfile)
отправит полный вывод в stdout и последнюю строку вывода в файл. Вы можете сделать это так, чтобы добавить последнюю строку в файл вместо перезаписи:
command | tee >(tail -n 1 >> outputfile)
просто небольшая точность относительно этой команды хвоста. Если программа выводит на стандартную ошибку, вы должны перенаправить ее
пример:
apachectl -t 2>&1 | tail -n 1
перенаправления:http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html