Bash: Como anexar um intervalo de linhas de um arquivo para outro

0

Digamos que eu tenha um conteúdo de arquivo semelhante ao seguinte (fileA):

lorem.ipsum=dolor sit amet.
donec.non.nibh=ut tortor
nam.mattis.lacus=et rhoncus sodales
get.placerat=neque fringilla.

Quais são os comandos apropriados para obter linhas 2-3 para outro arquivo?

Eu tentei cat 'o conteúdo do arquivo canalizado para grep com -A switch, mas isso não é exatamente o que eu quero, pois depende do padrão, não do número da linha:

cat fileA | grep -A1 "^donec" >> fileB

conteúdo do arquivoB:

donec.non.nibh=ut tortor
nam.mattis.lacus=et rhoncus sodales
    
por heikkim 15.06.2015 / 14:19

1 resposta

1

Você pode usar sed para p rint uma seleção de intervalo (de 2 a 3):

~$ sed -n '2,3p' fileA
donec.non.nibh=ut tortor
nam.mattis.lacus=et rhoncus sodales

ou use head para selecionar as 3 primeiras linhas, e siga para selecionar as últimas 2 linhas (das 3 linhas):

~$ head -3 fileA | tail -2
donec.non.nibh=ut tortor
nam.mattis.lacus=et rhoncus sodales
    
por 15.06.2015 / 14:25