使用awk批量处理长字符串:移除开头重复T段与结尾重复A段
批量处理长字符串:移除开头重复T段和结尾重复A段
直接用一行awk命令就能批量处理你的整个文件,不需要逐个字符串粘贴:
awk '{sub(/^.*TT+/,"",$0); sub(/AA+.*$/,"",$0); print}' 你的输入文件名.txt > 保存结果的文件名.txt
命令解释
sub(/^.*TT+/,"",$0):处理开头部分^匹配行的起始位置.*贪婪匹配开头到连续T之前的所有内容TT+匹配至少2个连续的T(确保是重复的T段,而非单个T)- 把这一整段替换为空,就去掉了开头到连续T的所有内容
sub(/AA+.*$/,"",$0):处理结尾部分AA+匹配至少2个连续的A.*$匹配连续A之后到行尾的所有内容- 替换为空,去掉结尾的重复A段及后续内容
print输出处理后的每行字符串
适配你的示例
拿你给出的示例字符串来说:
- 开头的
GCTCAATCACTTGGGGACTATTTTTTTTTTTTTTTTTTT会被第一个sub完全移除 - 结尾的
AAAAAAAAAAAAAAAAAAAACGTCGCGTCG会被第二个sub完全移除 - 中间的所有T和A都会被保留下来
如果某些行没有符合条件的开头T段或结尾A段,命令不会对该行做任何修改,直接输出原内容,不用担心误处理。
内容的提问来源于stack exchange,提问作者taijifajin
相关产品推荐
相关产品推荐

