如何对SBT输出进行抓取



我想在SBT输出上运行grep,但找不到方法。

说,如果我运行SBT命令./sbt dependency-tree,它将输出:

[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Resolving org.slf4j#slf4j-api;1.7.5 ...
[info] Resolving org.scala-lang#scala-compiler;2.10.4 ...
[info]   | +-org.slf4j:slf4j-api:1.6.4
[info]   +-org.apache.commons:commons-dbcp2:2.0
[info]   | +-org.apache.commons:commons-pool2:2.2
[info]     +-org.scalaz:scalaz-core_2.10:7.0.6 [S]
[info]   +-org.scalaz:scalaz-core_2.10:7.0.6 [S]
[info]   | +-org.slf4j:slf4j-api:1.7.6 (evicted by: 1.7.7)
[info]   | +-org.slf4j:slf4j-api:1.7.7
[info]   +-org.slf4j:jul-to-slf4j:1.7.7
...

我想运行 grep org.slf4j:jul-to-slf4j:1.7.7以过滤如果此项目中使用此库。

但是我尝试了:./sbt dependency-tree | grep org.slf4j:jul-to-slf4j:1.7.7,这是行不通的,并报告了SBT的一些错误

我可以将输出保存到文件中,然后在文件上grep,例如:

 ./sbt dependency-tree > a.txt
 cat a.txt | grep org.slf4j:jul-to-slf4j:1.7.7

哪个有效但不方便。

有什么更好的命令吗?

  1. 您应该引用GREP模式
  2. 您应该使用固定的字符串搜索

尝试此命令:

./sbt dependency-tree | grep -F 'org.slf4j:jul-to-slf4j:1.7.7'

相关内容

  • 没有找到相关文章

最新更新