我想做的是将命令输入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