使用 sed 替换 fstab 中的 UUID 值



我的fstab有点像下面:

UUID=somevalue1  
UUID=somevalue2

我想编辑第二个 UUID。如何使用 sed 执行此操作?

因此,编辑后,fstab 将如下所示:

UUID=somevalue1
UUID=somevalue3

任何帮助将不胜感激

如果你知道somevalue2,那么你可以做类似的事情

VALUETOREPLACE='somevalue2'
sed "s/^UUID=$VALUETOREPLACE$/UUID=somevalue3/" </etc/fstab

如果您不知道,可以在 fstab 中找到UUID=进行第二次替换:

sed ':a;N;$!ba;s/UUID=[A-Fa-f0-9-]*/UUID=somevalue3/2' </etc/fstab

您可以尝试将该2更改为3或其他任何选择其他 n 个匹配项。另请注意,在现代系统上,/etc/fstab 经常包含以下行:

# 设备;这可以与 UUID= 一起使用,作为命名设备的更健壮方式

其中也恰好有UUID=,这可能会弄乱您的编号。

最新更新