
Hola, estoy intentando reemplazar la línea de encabezado de mi archivo usando el comando sed como se menciona a continuación.
sed "1s/.*/$new_header/" Test_file.csv
La línea anterior reemplaza el encabezado y se imprime en la salida estándar, pero ¿cómo puedo redirigir la salida a un archivo nuevo o reemplazar los archivos directamente?
sed "1s/.*/$new_header/" Test_file.csv > new_file.csv
El comando anterior funciona bien, pero quiero redirigir al mismo archivo.
Respuesta1
Puede usar -i
una bandera sed
que editará en el lugar y también realizará una copia de seguridad:
sed -i.bak "1 s/.*/$new_header/" inputfile
Tenga en cuenta que la -i
opción no es estándar y puede funcionar de manera diferente en diferentes implementaciones de sed
. Ver¿Cómo puedo lograr portabilidad con sed -i (edición in situ)?