Um caminho:
sed -e :a -e 's/^.\{1,29\}$/&0/;ta' -e n file
Corresponda a qualquer caractere (.) e combine de 1 a 29 caracteres do mesmo tipo (1,29). Se a correspondência for bem sucedida, coloque um '0' atrás do padrão correspondente ( &
). Quando a correspondência falha, o que significa que quando a contagem de caracteres excluindo o primeiro caractere excede 29, pare e, portanto, obtemos a string zero preenchida por 30.
n
no final simplesmente lê a próxima linha e imprime. Desta forma, as linhas pares numeradas são impressas intocadas.
Executando o script acima:
$ sed -e :a -e 's/^.\{1,29\}$/&0/;ta' -e n file
FSDFDSFSD000000000000000000000
FDSFD
FHGDHFDHGHFGHGHGF0000000000000
HHGDF
GFDGDFGFDG00000000000000000000
GFDGFDGFDGDFGDGD