我想在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
哪个有效但不方便。
有什么更好的命令吗?
- 您应该引用GREP模式
- 您应该使用固定的字符串搜索
尝试此命令:
./sbt dependency-tree | grep -F 'org.slf4j:jul-to-slf4j:1.7.7'