【发布时间】:2012-05-18 11:07:15
【问题描述】:
我有一堆文件的句子结尾是这样的:\@.Next sentence。我想在句号之后插入一个空格。
不过,并非所有出现的\@. 都没有空格,因此我的正则表达式会检查句点之后的下一个字符是否为大写字母。
因为我在句号之后检查一个字符,所以我不能只将\@. 替换为\@.,而且因为我不知道句号后面是什么字符,所以我被卡住了。
我当前的命令:
sed -i .bak -E 's/\\@\.[A-Z]/<SOMETHING IN HERE>/g' *.tex
如何获取匹配字符串的最后一个字母以在替换正则表达式中使用?
编辑:为了记录,我使用的是 sed 的 BSD 版本(我使用的是 OS X)——来自我的 previous question regarding sed,显然 BSD sed(或者至少是 Apple 版本)没有总是很好地使用 GNU sed 正则表达式。
【问题讨论】: