我想搜索以下正则表达式:“[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/