如何将diff3与ed一起使用?我下面的尝试与diff3 --merge输出不匹配,所以我一定是做错了什么。
上下文:我已经将OpenBSD的diff3prog.c实用程序移植到了BusyBox中,它有diff和ed。
cat <<- EOF > parent.txt
1
2
3
EOF
cat <<- EOF > ours.txt
1
2
3
EOF
cat <<- EOF > theirs.txt
1
2
3
4
EOF
f1=ours.txt
f2=parent.txt
f3=theirs.txt
diff3 --merge $f1 $f2 $f3 > merged_good.txt
diff3 -E $f1 $f2 $f3 | ed $f1
#prints:
#6
#?
mv $f1 merged_bad.txtcat merged_good.txt
#prints:
#1
#2
#3
#4
cat merged_bad.txt
#prints:
#1
#2
#3发布于 2021-01-05 01:45:13
(最初我在comment above上发布了这篇文章。没有人添加任何进一步的上下文,但问题已经解决,所以我也添加了它作为答案。)
似乎diff3输出缺少w ed命令。因此,要获得预期的输出,应该使用(diff3 -E $f1 $f2 $f3; echo w) | ed $f1。
https://stackoverflow.com/questions/65432496
复制相似问题