Linux 如何使用sed替换3个字母的单词?

Linux 如何使用sed替换3个字母的单词?,linux,unix,sed,Linux,Unix,Sed,我需要使用sed来替换以og结尾的3个字母单词,即单词frog。我认为这会奏效: sed 's/?og/frog/' filename 但事实并非如此 这可能对你有用 sed 's/\<.og\>/frog/g' filename . matches one character \< beginning of word anchor \> end of word anchor sed's/\/frog/g'文件名 . 匹配一个字

我需要使用sed来替换以og结尾的3个字母单词,即单词frog。我认为这会奏效:

sed 's/?og/frog/' filename

但事实并非如此

这可能对你有用

sed 's/\<.og\>/frog/g' filename

.      matches one character 
\<     beginning of word anchor
\>     end of word anchor
sed's/\/frog/g'文件名
.      匹配一个字符
\<单词锚的开头
\>词尾锚

我至少看到两个错误,但当你问这样的问题时,你应该给出示例输入、预期输出和实际输出,以突出问题。“?”是一个shell全局字符,表示任何单个字符。sed、awk、grep等使用的等效regexp元字符为“”