简体   繁体   English

如何在Sbt输出上grep?

[英]How to grep on Sbt output?

I want to run grep on sbt output, but can't find a way to do it. 我想在sbt输出上运行grep ,但是找不到一种方法。

Say, if I run Sbt command ./sbt dependency-tree , it will output: 说,如果我运行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
...

I want to run grep org.slf4j:jul-to-slf4j:1.7.7 to filter if this library is used in this project. 我想运行grep org.slf4j:jul-to-slf4j:1.7.7来过滤是否在该项目中使用了该库。

But I tried: ./sbt dependency-tree | grep org.slf4j:jul-to-slf4j:1.7.7 但是我试过: ./sbt dependency-tree | grep org.slf4j:jul-to-slf4j:1.7.7 ./sbt dependency-tree | grep org.slf4j:jul-to-slf4j:1.7.7 , which is not work and reports some errors from sbt. ./sbt dependency-tree | grep org.slf4j:jul-to-slf4j:1.7.7无效,并报告sbt中的一些错误。

I can save the output to a file, then grep on the file, like: 我可以将输出保存到文件中,然后将grep保存到文件中,例如:

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

Which works but not convenient. 哪个可行,但不方便。

Is there any better command to do it? 有更好的命令吗?

  1. You should quote grep pattern 您应该引用grep模式
  2. You should use fixed string search 您应该使用固定字符串搜索

Try this command: 试试这个命令:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM