我目前正在尝试更改一个文件的内容
orig.sas
匹配更新文件的内容
new.sas
用 new.sas 替换 orig.sas 会进行一些更改,但是我不想更改 orig.sas 中引用的许多目录。
提交以下代码会输出一个脚本“changes.txt”,其中包含需要在 orig.sas 中更改的所有行以使其与 new.sas 相同
diff -e orig.sas new.sas > changes.txt
changes.txt 看起来像这样(完整输出有更多行):
3668c
label DBMS=xlsx replace;
.
3649,3665d
3643d
从这里我删除了所有引用目录更改的行,因此只有代码主体受到影响。
我认为我应该能够使用以下内容将此脚本提交到 sed(目的是进行所有更改 changes.txt):
sed - orig.sas < changes.txt
但我不想直接覆盖 orig.sas,而是更喜欢输出到版本 2 文件(例如 orig_v2.sas)