使用linux将正则expression式匹配转换为大写

我想search下面的正则expression式:“[ag] [ag] aag [acg]”,只将整个匹配转换为大写,而不是单独searcha或g。 我尝试了sed'y / [ag] [ag] aag [acg] / [AG] [AG] AAG [ACG] /',但是将个别search小写a或g转换为大写A或G.我只想当它发现匹配整个序列时进行转换。

非常感谢帮助

用sed:

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

找到[ag][ag]aag[acg]匹配并捕获该匹配\(...\) 。 然后用上面的版本\U\1替换它。

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

测试内容= agaaga

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

AGAAGA