我有一个脚本需要替换包含特定短语的第一行。它不应替换任何其他文本行。
使用这个:
sed -i '1,/old/ s/.*old.*/new/' temp
这会正确地将包含“旧”的整行替换为“新”。但我注意到,如果“旧”位于第一行,则这不起作用。我尝试使用 0 而不是 1,但它根本不起作用,无法替换。
如果有人有其他方法可以在第一行工作,请告诉我。
临时文件的内容是:
line 1 has 'old value' here.
line 2 has 'old value' here.
sed
这是在用作BusyBox 一部分的嵌入式设备上。
版本有:
BusyBox v1.29.3 (2022-11-02 08:55:42 PDT) multi-call binary.
$ sed --version
This is not GNU sed version 4.0
$
BusyBox 的 C 源代码sed
发布于:https://github.com/brgl/busybox/blob/master/editors/sed.c