solución gnu sed
sed '
\#[[:blank:]]*/var/log/report#!d
N
/\n[[:blank:]]*{$/!d
N
/\n[[:blank:]]*[A-Za-z]*$/!d
s/.*/OK\n&/
' infile
sed -n '/^.....................$/!p' < input-file
Si no hay 21 caracteres entre el principio(^
)de la línea y el final($
)de la línea, imprímalo.
Más positivamente, d
elimine las líneas que tienen 21 caracteres (imprimiendo otras líneas por defecto):
sed '/^.....................$/d' < input-file
$ sed '/^.\{21\}$/d;q' input-file
sed
d
eliminará (y, por lo tanto, no imprimirá )la primera línea con exactamente 21 caracteres entre el principio y el final de la línea (el archivo real no se modificará a pesar del uso de palabras de miedo como "eliminar" ). Si se encuentra una línea de este tipo, dejará de procesar inmediatamente más líneas.