Linux 使用sed替换fstab中的UUID值
我的fstab有点像以下内容:Linux 使用sed替换fstab中的UUID值,linux,replace,sed,Linux,Replace,Sed,我的fstab有点像以下内容: UUID=somevalue1 UUID=somevalue2 我想编辑第二个UUID。如何使用sed实现这一点 因此,在编辑fstab之后,它将如下所示: UUID=somevalue1 UUID=somevalue3 任何帮助都将非常感激如果你知道一些价值观,那么你可以做如下事情 VALUETOREPLACE='somevalue2' sed "s/^UUID=$VALUETOREPLACE$/UUID=somevalue3/" </etc/fs
UUID=somevalue1
UUID=somevalue2
我想编辑第二个UUID。如何使用sed实现这一点
因此,在编辑fstab之后,它将如下所示:
UUID=somevalue1
UUID=somevalue3
任何帮助都将非常感激如果你知道一些价值观,那么你可以做如下事情
VALUETOREPLACE='somevalue2'
sed "s/^UUID=$VALUETOREPLACE$/UUID=somevalue3/" </etc/fstab
您可以尝试将该2
更改为3
或任何其他内容,然后选择另一个第n个匹配项。还要注意的是,在现代系统/etc/fstab中经常有这样一行:
#装置;这可以与UUID=一起使用,作为命名设备的更可靠的方法
它也碰巧有
UUID=
,这可能会弄乱您的编号。有sed s命令,您可以使用它,请参见man sed
sed ':a;N;$!ba;s/UUID=[A-Fa-f0-9-]*/UUID=somevalue3/2' </etc/fstab