
我目前有一個 sed 命令,它匹配文件中的特定短語,並用另一個文件的全文替換該文件的所有行。這適用於短語“### REPLACE EVERYTHING AFTER THIS LINE ###”
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
該命令適用於文字文件,但在需要用 javascript 樣式註釋替換文件時,我遇到了一些障礙。我嘗試匹配的新行/短語現在如下(並注意我想匹配這具體註釋,並非所有以雙正斜線開頭的註釋):
//REPLACE AFTER THIS
我遇到了障礙,因為我目前無法逃脫雙正斜杠。我嘗試用反斜線轉義這兩個字符,但這不起作用。我目前(非工作)命令如下:
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
提前致謝。
答案1
感謝那些發表評論的人,除了修復非 ASCII 引用之外,這裡是工作命令:
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