【发布时间】:2009-11-22 09:08:42
【问题描述】:
在覆盖之前,我已将 /boot/grub/menu.lst 复制到 /home/san。我在 /home/san/menu.lst 上运行 sed 只是为了测试。
如何覆盖
默认 0
到
默认 1
在 sed 的帮助下。我使用了以下命令,但没有一个有效。这很可能是因为我不知道“默认”和“0”之间有多少空格。我以为有两个空格和一个制表符,但我错了。
sed -e 's/default \t0/default \t1/' /home/san/menu.lst
sed -e 's/default\t0/default\t1/' /home/san/menu.lst
sed -e 's/default \t0/default \t1/' /home/san/menu.lst
sed -e 's/default 0/default 1/' /home/san/menu.lst
我实际上想编写一个脚本,可以查看是否在 menu.lst 中写入了“默认 0”,然后将其替换为“默认 1”,如果写入了“默认 1”,则将其替换为“默认 2”。
谢谢
更新:
如何使用条件语句查看以'default'开头的行后面是否写了“0”或“1”?如果“0”替换为“1”,如果“1”替换为“0”?
【问题讨论】:
-
您确实应该将您的更新作为一个单独的问题发布。 (也许解释一下用例,因为它似乎没有描述你在
menu.lst...中找到的东西?)