linux - 替换符合两个条件的行上的单词

标签 linux sed

我正在尝试将 defaults 替换为 defaults,nodev for /, /home, /opt, /tmp, /var.

但是 defaults 设置不应更改为 swapproc

这是 /etc/fstab 文件:

/dev/rootvg/swap     swap                swap       defaults              0 0
/dev/rootvg/sysroot  /                   ext3       defaults              1 1
/dev/sda1            /boot               ext3       acl,user_xattr        1 2
/dev/rootvg/home     /home               ext3       defaults              1 2
/dev/rootvg/opt      /opt                ext3       defaults              1 2
/dev/rootvg/tmp      /tmp                ext3       defaults              1 2
/dev/rootvg/var      /var                ext3       defaults              1 2
proc                 /proc               proc       defaults              0 0
sysfs                /sys                sysfs      noauto                0 0
debugfs              /sys/kernel/debug   debugfs    noauto                0 0
devpts               /dev/pts            devpts     mode=0620,gid=5       0 0

最佳答案

希望这个sed命令对你有帮助

sed '/proc\|swap/!s/defaults/&,nodev/' /etc/fstab

输出:

/dev/rootvg/swap     swap                swap       defaults              0 0
/dev/rootvg/sysroot  /                   ext3       defaults,nodev              1 1
/dev/sda1            /boot               ext3       acl,user_xattr        1 2
/dev/rootvg/home     /home               ext3       defaults,nodev              1 2
/dev/rootvg/opt      /opt                ext3       defaults,nodev              1 2
/dev/rootvg/tmp      /tmp                ext3       defaults,nodev              1 2
/dev/rootvg/var      /var                ext3       defaults,nodev              1 2
proc                 /proc               proc       defaults              0 0
sysfs                /sys                sysfs      noauto                0 0
debugfs              /sys/kernel/debug   debugfs    noauto                0 0
devpts               /dev/pts            devpts     mode=0620,gid=5       0 0

注意: 如果您想更改文件,请使用 -i 选项

关于linux - 替换符合两个条件的行上的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32845861/

相关文章:

linux - 以编程方式检查用户是否在桌面 - Linux

克隆后立即在 OSX 上修改 Linux 内核源代码

linux - sed:如何替换多行模式中的所有内容?

linux - 查找并替换树中的字符串。递归

html - 如何使用 vim 和插件快速为所有行添加 html 属性和值?

bash - 删除字符串最后一个大小写之前的所有行

c++ - 静态库中的静态类成员变量不共享?

linux - 在 linux 中删除带有反斜杠的文件

linux - grep、awk 和 sed 有什么区别?

Linux 权限在 chmod a=rwx 后被拒绝