Linux sed精确匹配和替换
1,问题:现有一text.txt文本内容如下:
ni hao ma n
yin gn ~~n~~ nin
现要用 'en' 将单个单词 n( 删除线 )替换掉
尝试的方法一:
sed -i 's/n/en/g' text.txt
结果:
eni hao ma en
yien gen en enien
也就是所有的n字符都被替换,而我希望的是仅仅是单词n(下划线所指)被替换
尝试方法二:
sed -i 's/ n / en /g' text.txt 在n 和en两边加了两个空格
结果:
ni hao ma n
yin gn en nin
出现的问题是第一行最后一个单词n未被替换
网上找了好久,终于找到精准匹配和替换的方法:
sed -i 's/\<n\>/en/g' text.txt
结果如下:
ni hao ma en
yin gn en nin
————————————————
版权声明:本文为CSDN博主「yychenxie21」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenxieyy/article/details/52919009
评论 (0)