如何在文件的特定行输入文本?

如何在文件的特定行输入文本?

我想做的是将命令输入sudo到文件中echo或类似内容中,但不在第一行,而是在文本后的另一行
。我有这个文本

line[4]command=sh -c "service apache2 start"
并且我想要将 sudo 放在“command=”之后,如何做这个echo或者其他什么?

答案1

sed -i 's/command=/&sudo /' file

解释:逐行检查文件,将文本“command=”替换为“command=sudo”。&替换字符串中的 将是左侧匹配的任何内容。

答案2

为了完整起见,请注意,除了流编辑器之外,Unix 或 Linux 系统上通常还有几个可编写脚本的文本编辑器sed。例如ex

ex file << END
%s/^command=/&sudo /
w
END

甚至ed(这是 GNU 风格):

ed file << END
1,$s/^command=/&sudo /
w
END

相关内容