So my scenario was, I had a bunch of tar files (not gzipped), each one containing a csv file.
I wanted to grep the csv files for a string, but only in the tar files that matched a name pattern.
This was what I came up with:
for file in $(ls -l | awk '{print $9}' | grep [filename pattern]); do tar xf $file --to-command "grep [search string]"; done