今天碰到了个坑,想要用sed修改/etc/default/grub,在GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"后面增加net.ifnames=0。
命令为
sed -ir '/.*CMDLINE_LINUX.*/s#(.*)"#\1 net.ifnames=0"#' /etc/default/grub
然后一直报错: sed: -e expression #1, char 44: invalid reference \1 on `s' command's RHS
查了好一会,语法不会错,后面发现把-i参数分开写就可以了,应该这样:
sed -i -r '/.*CMDLINE_LINUX.*/s#(.*)"#\1 net.ifnames=0"#' /etc/default/grub