使用bash脚本注释/ fstab中的行

时间:2015-04-01 20:05:18

标签: bash

我需要一个bash脚本命令来查看/ etc / fstab并找到包含挂载名称的行" / mymount"并且只是放一个"#"在行的开头发表评论。

来自:

    /dev/lv_mymount /mymount  ext4    defaults        1 2

到此(带#):

    #/dev/lv_mymount /mymount  ext4    defaults        1 2

1 个答案:

答案 0 :(得分:6)

使用sed:

sed -i '/[/]mymount/ s/^/#/' /etc/fstab

工作原理:

  • -i

    就地编辑文件

  • /[/]mymount/

    仅选择包含/mymount

    的行
    • s/^/#/

    对于这些选定的行,请放在行的开头^,即字符#

使用awk:

awk '/[/]mymount/{$0="#"$0} 1' /etc/fstab >/etc/fstab.tmp && mv /etc/fstab.tmp /etc/fstab 

工作原理:

  • /[/]mymount/ {$0="#"$0}

    对于那些包含/mymount的行,并在该行的开头放置#

  • 1

    这是awk用于“打印每一行”的神秘缩写。