我想在以 kernel 字开头的每个结束行上添加字符串 crashkernel=100M
但仅当行不包含“crashkernel=”字样时,它才会添加 crashkernel=100M
我写了下面的内容,但是这个语法没有按预期工作
sed "/^#/b; /kernel/ ; /crashkernel=/! s/$/ crashkernel=100M" /etc/grub.conf
答案1
使用花括号来组合复杂的地址。下面的代码应该可以实现 OP 想要实现的功能(假设 OP 的代替代码是准确的):
sed '/^#/{/kernel/{/crashkernel=/! s/$/ crashkernel=100M/}}' /etc/grub.conf