Just use pup command to split, parse or wrap html outputs: cat file.html | pup #html is parsed into an optimally visible format cat file.html | pup 'span#See_also' #filters span tags with See_also id