【发布时间】:2015-07-02 09:09:47
【问题描述】:
我需要在每行 foo 和 sed 之前添加一行 bar。
我需要在 Makefile 中执行此操作,因此我不能使用 i\,因为它需要标准 sed 中的换行符(不是 GNU sed,例如 Mac OS X 中的换行符),而这不能在Makefile(至少,不是很好)。
我找到的解决办法是:
sed '/foo/{h;s/.*/bar/;p;g;}' < in > out
这将保存该行,将其内容替换为bar,打印新行,恢复旧行(并默认打印)。
有没有更简单的解决方案?
【问题讨论】: