【发布时间】:2021-05-18 18:26:27
【问题描述】:
这可能是一个新手正则表达式问题(仍在学习),但我正在尝试取消我代码中所有对象的大写(但不是类);即代码sn-p:
Bishop_Piece Bishop;
Bishop.move()...
我希望它改为:
Bishop_Piece bishop;
bishop.move()...
我尝试了什么:
find . -type f | xargs sed -i 's/Bishop[;.]/bishop./g'
但是这会导致:
Bishop_Piece bishop.
bishop.move()...
基本上,我希望我正在搜索的字符(即 Bishop)被“保留”(无论是 ; 还是 .),这就是 bishop./g 的原因。
【问题讨论】:
-
使用 sed 时,您可以将
[;.]与捕获组匹配,并将匹配到的任何内容返回到输出的相同位置。