如何在Unix Shell脚本中更新文件中的文本

我正在创build一个需要更新sudoers文件的shell脚本。 所以基本上我想能够在/ etc / sudoers中追加“:/ usr / local / bin /”到以下文本:

secure_path = / sbin:/ bin:/ usr / sbin:/ usr / bin

我需要在命令中使用sudo才能获得修改权限。 任何想法我可以做到这一点?

这么多的方法!

旧的standby是sed: sed 's/\(secure_path.*\)/\1:\/usr\/local\/bin/' /etc/sudoers

vim脚本也可以做高级的事情。 你可以input到vim中的任何进程都可以保存到vim脚本中并进行回放。

Augueas最新的工具非常方便。 它经常与Puppet结合围绕编辑文件结构化的方式。 因此,它意识到文本文件中的上下文和层次结构。

最好使用的是:sed – stream编辑器来过滤和转换文本