使用 sed 命令替换
Posted
技术标签:
【中文标题】使用 sed 命令替换【英文标题】:using sed command subtitution 【发布时间】:2022-01-10 10:17:58 【问题描述】:如何在 sed 命令中只替换特定值
例如,
Linux system
Windows syste
Mac syste
我试过这个命令
sed 's/syste/system/g' 文件.txt
safwanpaloli@hello:~/linx$ sed 's/syste/system/g' new.txt
Linux systemm
Windows system
Mac system
我预期的结果
Linux system
Windows system
Mac system
【问题讨论】:
【参考方案1】:试试sed 's/system/syste/g;s/syste/system/g' new.txt
。
【讨论】:
好的,这是迄今为止最疯狂的解决方案。 嗯,这绝对是 POSIX 兼容的,我不需要考虑非 GNU sed 是否支持\b
或 \?
。
最简单的解决方案可能是:sed -e 's/syste$/system/' file
我同意,对于 OP 的输入,syste
总是出现在行尾。【参考方案2】:
你可以试试这个sed
,它将匹配最后一个单词并替换为system
$ sed 's/[a-zA-Z]*$/system/g' input_file
Linux system
Windows system
Mac system
【讨论】:
【参考方案3】:也替换 m
,但前提是它存在。
sed 's/system\?/system/g'
【讨论】:
以上是关于使用 sed 命令替换的主要内容,如果未能解决你的问题,请参考以下文章