2014-12-31 2 views
4

Я использую sbt для создания моего проекта Scala, и я искал способ фильтрации вывода любой команды (например, compile) подстрокой. В частности, я хочу использовать grep в сочетании с командами sbt. Например, > compile | grep MyFile.scala, должен печатать только строки, где упоминалось MyFile.scala.Как выполнить grep внутри sbt

Есть ли способ сделать это?

$ sbt --version 
sbt launcher version 0.13.5 
+2

Хотя это может не полностью удовлетворить ваши потребности, вы посмотрели команду sbt 'last-grep'? – edi

+0

спасибо. Это помогло мне. Думаю, это лучший вариант для меня. Я не уверен, что то, что я прошу, возможно вообще. –

ответ

0

Я не уверен в том, чтобы делать это из консоли sbt, но как насчет вашей оболочки?

$ sbt "tasks" | grep 'clean' 

clean Deletes files produced by the build, such as generated sources, compiled classes, and task caches. 

Или подстроки, как вы уже:

$ sbt "tasks" | grep 'class' 
    clean Deletes files produced by the build, such as generated sources, compiled classes, and task caches. 

    console Starts the Scala interpreter with the project classes on the classpath. 

    consoleProject Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. 

    consoleQuick Starts the Scala interpreter with the project dependencies on the classpath. 

    run Runs a main class, passing along arguments provided on the command line. 

    runMain Runs the main class selected by the first argument, passing the remaining arguments to the main method. 
+0

Да, я знаю об этом решении, но перезапуск 'sbt' все время немного утомительно. Я искал способ сделать это из sbt shell –

5

Лучший способ Grep выход SBT в интерактивном режиме (протестировано с SBT 0.13.11) является использование last-grep.

Это приведет к повторному распечатке вывода последней команды, и он примет разные grep-подобные аргументы.

Смежные вопросы