Joseph L. Casale wrote:
if the text indented beneath it has "D:", then do the same and extract "SNAPSHOT ID" if and only if "E:" follows?
If the line counts are constant you could do the reverse:
grep -B 3 "(E:|D:)" input.txt | grep Shadow
Which would show the 3 lines above a line that has E:\ or D:\ and then only display the lines with the word Shadow.
nate