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

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

我正在创建一个需要更新 sudoers 文件的 shell 脚本。因此,基本上我希望能够将“:/usr/local/bin/”附加到 /etc/sudoers 中的以下文本:

安全路径 = /sbin:/bin:/usr/sbin:/usr/bin

我需要在命令中使用 sudo 才能获得修改权限。有什么办法可以实现吗?

答案1

方法有很多!

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

中的脚本vim也可以执行高级操作。您在 vim 中输入的任何过程都可以保存到 vim 脚本中并播放。

最新的、非常实用的工具是奥格亚斯。它通常与 Puppet 一起使用,以结构化方式编辑文件。因此,它知道文本文件中的上下文和层次结构。

答案2

最好使用 sed - 用于过滤和转换文本的流编辑器

相关内容