perl - How to print 10 letters preceding every occurrence of a particular character? -
using grep , can print occurrences of uppercase letter "z" in document. output, however, display entire lines in every "z" in document found. need limit printing 10 letters appearing before every occurance of "z". e.g., if document has line "aaaabbbbbbbbbccccccdddddddz", print "ccddddddd", 10 letters appearing before. if there fewer 10 letters prior "z", nothing needs printed. if "z" appears multiple times in single line, 10 letters preceding each of these "z"'s should printed, e.g.: "aaaabbbbbbbbbzcccccdddddddz" print "abbbbbbbbb" , "ccdddddddz". the result output list of these letters, e.g.: abbbbbbbbb ccdddddddz how can print 10 letters preceding every occurrence of letter "z" in document? simple: grep -op '.{10}(?=z)' <<< aaaabbbbbbbbbzcccccdddddddz explanation: -o : print match, not entire line -p : use