我正在尝试使用 sed
将文本文件中每个单词的第三个字符括起来。我试过操纵:
sed 's/\(\b[A-Z]\)/\(\1\)/g' filename
除了将第一个字符而不是第三个字符括起来外,这满足了我的需要。
它给了我:“Welcome To The Geek Stuff”=> “(W)elcome (T)o (T)he (G)eek (S)tuff”
我想要的是:“Welcome To The Geek Stuff”=>“We(l)come To Th(e) Ge(e)k St(u)ff”
如何给每个单词的第三个字符加括号?
最佳答案
此 sed 命令必须将单词中出现的每三个字符放在括号内。
$ echo 'Welcome To The Geek Stuff' | sed 's/\b\([A-Z][a-z]\)\([a-z]\)/\1(\2)/g'
We(l)come To Th(e) Ge(e)k St(u)ff
$ echo 'Welcome To The Geek Stuff' | sed 's/\b\([a-z][a-z]\)\([a-z]\)/\1(\2)/gi'
We(l)come To Th(e) Ge(e)k St(u)ff
按顺序添加 i
修饰符以进行不区分大小写的匹配。
关于linux - 使用 sed 将每个单词的第三个字符括起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29311170/