Use sed to Insert Text Every 'n' Lines/Characters

There are a lot of overly complicated ways to insert a line after every nth line, but the simplest way I find is the following:

sed '0~3 s/$/\nMy Text/g' < input.file

In a file with six lines you get something like the following:

Line 1
Line 2
Line 3
My Text
Line 4
Line 5
Line 6
My Text

Just swap the second half of 0~3 with the number of lines after which you want to insert to adjust where you insert your text, e.g. 0~30 will insert every 30th line.

The first digit of the 0~3 specifies the first line the insertion should happen (with 0 not prepending to the beginning of the file):

sed '2~3 s/$/\nMy Text/g' < input.file 
Line 1
Line 2
My Text
Line 3
Line 4
Line 5
My Text
Line 6

To insert something every nth character the syntax is a bit different:

sed 's/.\{2\}/&#/g'

Will insert a # every 2 characters:

Li#ne# 1#
Li#ne# 2#
Li#ne# 3#
Li#ne# 4#
Li#ne# 5#
Li#ne# 6#

Swap out the 2 for the desired number of characters.