
Olá, estou tentando substituir a linha de cabeçalho do meu arquivo usando o comando sed conforme 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 um novo arquivo ou substituir os arquivos diretamente?
sed "1s/.*/$new_header/" Test_file.csv > new_file.csv
O comando acima funciona bem, mas quero redirecionar para o mesmo arquivo.
Responder1
Você pode usar -i
o sinalizador para sed
editar no local e também fazer backup:
sed -i.bak "1 s/.*/$new_header/" inputfile
Observe que a -i
opção não é padrão e pode funcionar de maneira diferente em diferentes implementações do sed
. VerComo posso conseguir portabilidade com sed -i (edição no local)?