我正在尝试替换属性文件中的一行文本.例如:
food.type=banana
Run Code Online (Sandbox Code Playgroud)
使用这行代码,我可以完全用另一个输入的输入替换banana.
FOOD=apple
sed "s/food.type=.*/food.type=$FOOD/"
Run Code Online (Sandbox Code Playgroud)
输出:
food.type=apple
Run Code Online (Sandbox Code Playgroud)
然而,当我试图替换的前一行文本中有一个/,我无法让替换工作.例如:
food.type=/yellow/banana
Run Code Online (Sandbox Code Playgroud)
任何帮助深表感谢.谢谢!
斜线被视为关闭reg-ex匹配/替换模式,
做
sed "s@food.type=.*@food.type=$FOOD@"
Run Code Online (Sandbox Code Playgroud)
有些seds要求你转义非标准分隔符的第一个实例,即
sed "s\@food.type=.*@food.type=$FOOD@"
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助.