我想手动编辑一个Fastq文件使用Bash到多个类似的行。
在Fastq文件中,序列读取从第2行开始,然后每第4行(即第2行、第6行、第10行、第14行.)找到。
我想要创建一个编辑的文本文件,它与Fastq文件相同,除非顺序读取的前6个字符被修剪掉。
未经编辑的Fastq:
@M03017:21:000000000
GAGAGATCTCTCTCTCTCTCT
+
111>>B1FDFFF编辑的Fastq:
@M03017:21:000000000
TCTCTCTCTCTCTCT
+
111>>B1FDFFF发布于 2015-02-16 16:22:54
GNU可以这样做:
sed -i~ '2~4s/^.\{6\}//' fileaddress 2~4的意思是“从第2行开始,重复每4行”。
s的意思是替换,^匹配行开始,.匹配任何字符,\{6\}指定长度(“量词”)。替换字符串为空(//)。
-i~将文件替换到位,留下附加到文件名后的~备份。
发布于 2015-02-16 15:57:31
我想awk在这方面是完美的:
$ awk 'NR%4==2 {gsub(/^.{6}/,"")} 1' file
@M03017:21:000000000
TCTCTCTCTCTCTCT
+
111>>B1FDFFF这将删除4k+2位置中所有行中的前6个字符。
解释
NR%4==2 {}会做一些事情。gsub(/^.{6}/,"")将第6个字符替换为空字符串。1计算为True,打印该行。https://stackoverflow.com/questions/28545286
复制相似问题