使用sed替换fstab中的UUID值

时间:2016-03-12 22:45:02

标签: linux replace sed

我的fstab有点像:

UUID=somevalue1  
UUID=somevalue2

我想编辑第二个UUID。我如何使用sed做到这一点?

所以编辑后的fstab如下所示:

UUID=somevalue1
UUID=somevalue3

任何帮助都会非常感激

1 个答案:

答案 0 :(得分:1)

如果您知道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中经常有这一行:

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

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