Como excluir todas as linhas em um arquivo UNIX, exceto primeira e última linha? [fechadas]

0

Eu quero manter apenas os registros de cabeçalho e trailer em um arquivo UNIX.

    
por Manish Kumar 07.02.2016 / 08:41

2 respostas

7

com sed:

sed -n '1p;$p' file

Suprima a impressão automática do espaço padrão ( -n ), mas imprima primeiro ( 1p ) e a última linha ( $p ) do espaço padrão.

Se você quiser editar seu arquivo "in-loco", use a opção sed -i .

    
por 07.02.2016 / 08:46
4

Use head e tail , um após o outro:

head -n 1 file.txt; tail -n 1 file.txt

Executando tail se head for bem-sucedido:

head -n 1 file.txt && tail -n 1 file.txt

Exemplo:

% cat file.txt 
foo
spam
egg
bar


% head -n 1 file.txt; tail -n 1 file.txt
foo
bar

% head -n 1 file.txt && tail -n 1 file.txt
foo
bar
    
por 07.02.2016 / 08:48