sed 中是否有选项可以打印在标准输出上编辑的行



为了分离关注点,生产中的配置版本由运维或支持人员完成,而不是开发团队。启用操作/支持以检查 sed 版本是否正确的可靠选项是什么?

例如,在标准输出上编辑的行数或所有已编辑的行都可以工作。sed 是否提供此类选项?

谢谢。

这取决于你想要什么。 您可以简单地在输入和输出之间进行上下文差异,也可以通过使用-n来禁止正常打印并在任何替换命令后添加p,从而安排sed仅打印它更改的行。 如果您使用的是ai,则必须更加努力地工作。

如果您熟悉 diff(或 vim),则可以在不修改文件的情况下检查修改,例如:

diff ORIGINAL_FILE <(sed 's/foo/bar/g' ORIGINAL_FILE)

或:

vimdiff ORIGINAL_FILE <(sed 's/foo/bar/g' ORIGINAL_FILE)

sed 中是否有选项可以打印在标准输出上编辑的行?

您可以在 sed 中使用p命令:

sed -n -i.bak 's/search/replace/pg' config-file.txt

这将在执行搜索/替换后打印每一行。

最新更新