我想搜索以下正则表达式:“[ag] [ag] aag [acg]”并只将整个匹配转换为大写,而不是单个搜索a或g 。 我试过sed'y/[ag] [ag] aag [acg]/[AG] [AG] AAG [ACG] /',但是这会将个别搜索小写a或g转换为大写A或G.我想只有在找到与整个序列匹配的时候才会进行转换。使用linux将正则表达式匹配转换为大写
非常感谢帮助
我想搜索以下正则表达式:“[ag] [ag] aag [acg]”并只将整个匹配转换为大写,而不是单个搜索a或g 。 我试过sed'y/[ag] [ag] aag [acg]/[AG] [AG] AAG [ACG] /',但是这会将个别搜索小写a或g转换为大写A或G.我想只有在找到与整个序列匹配的时候才会进行转换。使用linux将正则表达式匹配转换为大写
非常感谢帮助
使用sed:
sed 's/\([ag][ag]aag[acg]\)/\U\1/' input
它找到一个匹配[ag][ag]aag[acg]
并捕获这场比赛\(...\)
。然后它将它的高版本\U\1
替换为匹配。
@perreal的sed语句发布了作品。你确定你正确使用它吗?
testsed = agaaga
SED的/([AG] [AG] AAG [ACG])/ \ U \ 1 /'的内容testsed
AGAAGA
我想,但它没有工作。它将比赛替换为UU。有另一种方式吗?非常感谢 –