实际上,它应该替换 --memory 之后的任何数字。以下是我的情况,但无法得到预期的结果。

sed -i -E -- "s/\b--memory.*/--memroy 100g \/g"  a.txt
    
linux
unix
sed
blackfury
blackfury
发布于 2018-05-28
1 个回答
Inian
Inian
发布于 2018-05-28
已采纳
0 人赞同

在这里你不需要扩展的铰链支持(-E),从POSIX角度看,你可以像下面这样做。我们的想法是,你需要将元字符\进行双跳,使其成为一个字面意义上的字符。

sed 's/--memory \(.*\) \\/--memory 100g \\/g' a.txt

或者如果你确定它将一直是20g,则直接使用字符串。

sed 's/--memory 20g \\/--memory 100g \\/g' a.txt