正则表达式将停止在sed中替换文本的末尾

时间:2012-04-18 21:01:20

标签: regex unix

我正试图让我的替换短语在sed中结束,以便

echo aardvark.CPP | sed s/'\.'/'\.cpp'/g

将会读取:

aardvark.cpp

而不是:

aardvark.cpp PP

由于

2 个答案:

答案 0 :(得分:1)

如果您只想替换.CPP,可以这样做:

echo aardvark.CPP | sed s/'\.CPP'/'\.cpp'/g

如果您想在.之后用.cpp替换任何内容,可以执行此操作:

echo aardvark.CPP | sed s/'\.*'/'\.cpp'/g

答案 1 :(得分:0)

你也可以使用这样的简单tr命令:

echo aardvark.CPP | tr 'CPP' 'cpp'

修改

如果您真的想使用sed,请使用:

echo aardvark.CPP | sed 's/\.[A-Za-z][A-Za-z]*$/.cpp/g'