
Actualmente tengo un comando sed que coincide con una frase específica en un archivo y reemplaza todas las líneas de ese archivo con el texto completo de un archivo diferente. Esto funciona para la frase "### REEMPLAZAR TODO DESPUÉS DE ESTA LÍNEA ###"
sed -n -e '1,/^### REPLACE EVERYTHING AFTER THIS LINE ###$/{ p; d; }' \
-e 'r replacement_file.txt' \
-e 'q' original_file.txt > original_file.txt.new &&
mv original_file.txt.new original_file.txt
Este comando funciona para archivos de texto, pero al necesitar reemplazar archivos con comentarios de estilo javascript, me encontré con un pequeño inconveniente. La nueva línea/frase que estoy intentando hacer coincidir ahora es la siguiente (y tenga en cuenta que quiero hacer coincidirestecomentario específico, no todos los comentarios que comienzan con la doble barra diagonal):
//REPLACE AFTER THIS
Me encontré con un problema porque actualmente no logro escapar de la doble barra diagonal. Intenté escapar de los dos caracteres con una barra invertida, pero no funcionó. Mi comando actual (que no funciona) es el siguiente:
sed -n -e ‘1,/^\/\/REPLACE AFTER THIS$/{ p; d; }’\
-e 'r replacement_file.txt' \
-e 'q' original_file.txt > original_file.txt.new && mv original_file.txt.new original_file.txt
Gracias de antemano.
Respuesta1
Gracias a quienes comentaron, además de corregir la cita no ASCII, aquí está el comando de trabajo:
sed -n -e '1,\|^//REPLACE TEST$|{ p; d; }' \
-e 'r replacement_file.txt' \
-e 'q' original_file.txt > original_file.txt.new && mv original_file.txt.new original_file.txt