My unsuccessful proposalfind ./ -newerct '1 week ago' -print | grep TODONo output although should be. Files are text files likeLorem% TODO check this outLorem ipsunHow can you find less than 1 week old files matching TODO? Output should be the line after TODO. Perl solution is also welcome, since I am practising it too. 
Find files less than 1 week old with match TODO in files
grep;find;perl
Change this:find ./ -newerct '1 week ago' -print | grep TODOto this:find ./ -newerct '1 week ago' -exec grep TODO {} +or this:find ./ -newerct '1 week ago' -print | xargs grep TODOExplanationYour grep doesn't interpret the output of find as a list of files to search through, but rather as its input. That is, grep tries to match TODO in the names of files rather than their contents.From the grep(1) man page:grep  searches the named input FILEs (or standard input if no files are         named, or if a single hyphen-minus (-) is given as file name)To match the line after TODO:find ./ -newerct '1 week ago' -exec grep -A1 TODO {} + | grep -v TODOThis assumes you have GNU grep.