3

我想搜索以下正则表达式:“[ag][ag]aag[acg]”并仅将整个匹配转换为大写,而不是单独搜索 a 或 g。我尝试了 sed 'y/[ag][ag]aag[acg]/[AG][AG]AAG[ACG]/' 但这会将对小写 a 或 g 的单个搜索转换为大写 A 或 G。我只想当它发现与整个序列匹配时进行转换。

非常感谢帮助

4

2 回答 2

0

sed 声明@perreal 发布了作品。你确定你使用正确吗?

测试的内容 = agaaga

sed 's/([ag][ag]aag[acg])/\U\1/' 已测试

阿加加

于 2014-02-21T16:09:33.083 回答
0

使用 sed:

sed 's/\([ag][ag]aag[acg]\)/\U\1/' input

它找到一个匹配[ag][ag]aag[acg]项并捕获这个匹配项\(...\)。然后它用它的大写版本替换匹配\U\1

于 2012-11-27T04:08:41.503 回答