Sed

在 fstab 中替換 fsck 的階段

  • June 21, 2021

我正在尋找一些方法來替換我的 fstab 文件中的 fsck 階段,但僅限於包含特定路徑的行。

目前 fstab 看起來像這樣:

/dev/mapper/vgroot-root /          xfs          defaults          0 0
/dev/mapper/vgroot-home /home          xfs          defaults          0 0
/dev/mapper/vgroot-opt /opt          xfs          defaults          0 0
/dev/mapper/vgroot-var /var          xfs          defaults          0 0
/dev/mapper/vgapp-optapp /opt/apt          xfs          defaults          0 0

192.168.1.1:/app/rep_t1 /data/rep_t1          nfsrep_t1 defaults          0 0
192.168.1.1:/app/rep_t1 /data/rep_t1          nfsrep_t1 defaults          0 0

我想將階段從“0 0”更改為“1 2”,但僅適用於本地文件系統(/dev/mapper)。我怎樣才能做到這一點?目前我只能更改 1 個值,如下所示:

sed -i -e '/mapper/ s/0/1/' /etc/fstab

應該是這樣的:

/dev/mapper/vgroot-root /          xfs          defaults          1 2
/dev/mapper/vgroot-home /home          xfs          defaults          1 2
/dev/mapper/vgroot-opt /opt          xfs          defaults          1 2
/dev/mapper/vgroot-var /var          xfs          defaults          1 2
/dev/mapper/vgapp-optapp /opt/apt          xfs          defaults          1 2

192.168.1.1:/app/rep_t1 /data/rep_t1          nfsrep_t1 defaults          0 0
192.168.1.1:/app/rep_t1 /data/rep_t1          nfsrep_t1 defaults          0 0

你很接近:

sed -i '/mapper/ s/0 0/1 2/' /etc/fstab

如果您想了解更多資訊,請參閱這個出色的 sed 教程。

引用自:https://serverfault.com/questions/1067323