Você poderia usar sed, é muito flexível. Por exemplo, para imprimir as linhas 2 a 5 e 4 colunas a partir da coluna 3:
sed -n '2,5 s/^.\{3\}\(.\{1,4\}\).*$//p'
-
-nsignifica não imprimir a linha se não houver correspondência -
2,5significa apenas para linhas de 2 a 5 -
s/1/2/psignifica substituir 1 por 2 e imprimi-lo -
^.\{3\}corresponde no início da linha (^) qualquer caractere exatamente 3 vezes -
\( \)seleciona o que será produzido usandona parte de substituição -
.\{1,4\}seleciona qualquer caractere até 4 ocorrências -
.*$corresponde a qualquer caractere até o final da linha
Todos juntos, isso fará o que você quiser.
EDIT:
A solução anterior está faltando linhas com menos de 4 caracteres.
Uma solução melhor é:
sed -n '2,5 s/^.\{0,3\}\(.\{0,4\}\).*$//p'
Este colocará uma linha vazia se a linha for menor do que os caracteres necessários, permitindo 0 colunas antes da saída e 0 colunas na saída.