免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2680 | 回复: 5
打印 上一主题 下一主题

grub.cfg替换问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-16 17:10 |只看该作者 |倒序浏览
grub.cfg如下:
#grub.cfg
#splash
default=0
timeout=5

menuentry "OS 1[head]" {
    root (hd0,5)
    linux /vmlinuz-2.6.18-194.el5 root=/dev/sda8
    initrd /initrd-2.6.18-194.el5.img
}

menuentry "OS 2[body]" {
    root (hd0,7)
    linux /vmlinuz-2.6.18-194.el5 root=/dev/sda10
    initrd /initrd-2.6.18-194.el5.img
}

要完成以下目的, 请教大家有没有简单的方法, 最好是单条语句就行
如果参数给定sda10 则将os 2 [body]换成 os 2[new]
如果参数给定sda8 则将os 1 [head]换成 os 2[new]

论坛徽章:
0
2 [报告]
发表于 2011-09-16 17:13 |只看该作者
if语句可以解决你的需求

论坛徽章:
0
3 [报告]
发表于 2011-09-19 08:30 |只看该作者
不懂 , 不是同一行的替换 用sed可以么

论坛徽章:
0
4 [报告]
发表于 2011-09-19 10:55 |只看该作者
参数为sda10的情况:
sed -n -e '/^$/{x;/sda10/ s/body/new/;p;d}' -e '/./H' grub.cfg

论坛徽章:
0
5 [报告]
发表于 2011-09-19 13:59 |只看该作者
兄弟 如果我文件末尾最后几行不是空行的话, 你这个命令少打印一块啊

论坛徽章:
0
6 [报告]
发表于 2011-09-20 09:59 |只看该作者
那就换成这个, sed -n -e '/\}/{x;/sda10/ s/body/new/;p;d}' -e '/./H' grub.cfg
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP