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

非常感谢您的帮助

最佳答案

与sed:

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

找到与[ag][ag]aag[acg]的匹配项并捕获此匹配项\(...\)。然后,将其替换为大写版本\U\1

关于regex - 使用linux将正则表达式匹配转换为大写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13577228/

10-14 06:53