我试图替换属性文件中的一行文本。
例如:
food.type=banana
有了这一行代码,我可以用另一个输入来完全替换香蕉。
FOOD=apple
sed "s/food.type=.*/food.type=$FOOD/"
输出:
food.type=apple
然而,当我试图替换的前一行文本中有一个
/
时,我无法让替换工作。例如:
food.type=/yellow/banana
任何帮助都非常感谢。谢谢!
最佳答案
斜线被解读为结束reg ex match/substitute模式,
做
sed "[email protected]=.*@food.type=$FOOD@"
有些sed要求转义非标准分隔符的第一个实例,即
sed "s\@food.type=.*@food.type=$FOOD@"
我希望这能有帮助。
关于bash - Bash-sed替换文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10689369/