
Atualmente tenho um comando sed que corresponde a uma frase específica em um arquivo e substitui todas as linhas desse arquivo pelo texto completo de um arquivo diferente. Isso funciona para a frase "### SUBSTITUIR TUDO APÓS ESTA LINHA ###"
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 arquivos de texto, mas ao precisar substituir arquivos por comentários no estilo javascript, encontrei um pequeno obstáculo. A nova linha/frase que estou tentando corresponder agora é a seguinte (e observe que quero corresponderessecomentário específico, nem todos os comentários que começam com a barra dupla):
//REPLACE AFTER THIS
Encontrei um obstáculo porque atualmente não consigo escapar da barra dupla. Tentei escapar dos dois caracteres com uma barra invertida, mas não funcionou. Meu comando atual (não funcional) é o seguinte:
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
Desde já, obrigado.
Responder1
Obrigado a quem comentou, além de corrigir a cotação não ASCII, aqui está o comando de trabalho:
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