Usando o editor 'ed', como posso imprimir as primeiras 20 linhas correspondentes?

1

Dado um arquivo de tamanho gigantesco, posso editar com ed e emitir o seguinte comando.

g/real/p

Que imprimirá todas as linhas contendo 'real'.

O que eu quero fazer é imprimir o primeiro 20.

Eu sei sed, grep, head, etc. Mas eu quero melhorar minhas habilidades ed.

    
por Bryan Hunt 05.02.2013 / 19:28

2 respostas

0

Você pode especificar intervalos antes de seus comandos no formulário from,to .

1,4p

imprimiria as linhas 1-4.

    
por 19.03.2014 / 15:53
0

Aqui está uma maneira:

ed -s infile <<IN
v/PATTERN/d               # delete all lines NOT matching PATTERN
,w !head -n20             # pass the addressed lines as input to shell command
u                         # undo deletion: not needed if you don't save changes
q                         # quit editor
IN
    
por 03.04.2015 / 20:20

Tags