How can I get unique results using grep?
The script below is part of the logic I want to implement as part of a jenkins job. I am trying to write a shell script.
I am using grep command to recursively find a specific line . An example of the result that grep returns looks like this:
./src/test/java/com/ABC/st/test/pricing/Test1.java: @Tags ({"B-05256"}) ./src/test/java/com/ABC/st/test/pricing/Test1.java: @MapToVO (storyID = "B-05256: prices in ST") ./src/test/java/com/ABC/st/test/pricing/Test1.java: @Tags ({"B-05256"}) ./src/test/java/com/ABC/st/test/pricing/Test2.java: @Tags ({"B-05256"}) ./src/test/java/com/ABC/st/test/pricing/Test2.java: @MapToVO (storyID = "B-05256: Lowest Price of the Season") ./src/test/java/com/ABC/st/test/pricing/Test2.java: @Tags ({"B-05256"})
I want to extract unique file paths like:
/src/test/java/com/ABC/st/test/pricing/Test1.java
/src/test/java/com/ABC/st/test/pricing/Test2.java
and then use each unique path in maven command. So:
-
How can I extract the unique file paths from the result set given by the grep command?
-
How do I start a loop like a thing where on each iteration I execute the mvn command with a unique file path?
+3
source to share
3 answers
If you only want the name of the corresponding files, grep
has a command line switch for that:
-l, --files-with-matches
Suppress normal output; instead print the name of each input file from which output
would normally have been printed. The scanning will stop on the first match. (-l is
specified by POSIX.)
+2
source to share