使用 sed 附加文本

使用 sed 附加文本

我正在编写一个用于 Centos/Redhat 安装后的脚本。为了使文件系统更安全,我想添加一些参数,例如nosuid,noexectmpfs。

在 Redhat 6 中,该行位于 fstab 中的第 12 行。我可以使用命令轻松编辑文件

# sed '12s/defaults/&,noexec/' /etc/fstab 

它会在默认值之后添加noexec,但我希望它更加动态,也许在 RHEL 7 中它不在第 10 行。

所以我希望它搜索以开头的行tmpfs并在默认值后添加文本。尝试了很多次但一直失败。任何建议如何实现它

答案1

只需标记包含该条tmpfs目的行,并在“默认”之后附加所需的选项

sed '/^tmpfs/{s/defaults/&,noexec/}' /etc/fstab

-i如果文件更改在 GNUsed和FreeBSD 上-i''看起来是预期的,则添加该选项sed

相关内容