[regexp] - difference between ([^c])+ and ([^c]+) heh :p? first matches last letter occurence, latter matches whole string - grep a cl page # grep -E "^\\s*\\s*([^<])+\\s*$" cl.html - same but using sed, notes how forward-slash in '' got escaped $ sed -n -r "/^\\s*\\s*([^<])+<\/a>\\s*$/p" cl.html - now sed with 2 column output, link mapping to desc, note that +'s were moved into () $ sed -r -n "s/^\\s*\\s*([^<]+)<\/a>\\s*$/\1 \2/p" cl.html - full cl search $ curl -s -i 'http://chicago.craigslist.org/search/pta?query=wrx+|+sti+|+impreza+|+subaru&srchType=T' | sed -r -n "s/^\\s*\\s*([^<]+)<\/a>\\s*$/\1 \2/p"