Como substituir a primeira linha usando sed?

3

Oi eu estou tentando substituir a linha de cabeçalho do meu arquivo usando o comando sed como mencionado abaixo,

sed "1s/.*/$new_header/" Test_file.csv 

A linha acima substitui o cabeçalho e imprime em stdout, mas como posso redirecionar a saída para novo arquivo ou substituir os arquivos diretamente?

sed "1s/.*/$new_header/" Test_file.csv > new_file.csv 

O comando acima funciona bem, mas eu quero redirecionar para o mesmo arquivo.

    
por William R 18.10.2014 / 13:32

1 resposta

5

Você pode usar -i flag para sed que será editado no local e também fará backup:

sed -i.bak "1 s/^.*$/$new_header/" inputfile
    
por 18.10.2014 / 13:40

Tags