我试图从一个更快的文件中提取所有的序列,其中有一个A在位置10。这是我唯一的要求。我已经找到了相当多的答案,但不幸的是,人们一直在寻找相同的位置1而不是10。所以,他们提出的代码不会为我工作。任何建议?
grep '^A' -B 1 file.fa | sed '/--/d' > new_file.fa
cat input.fa |paste - - | awk '($2 ~ /^A/)' | tr "\t" "\n"
这些解决方案看起来像只考虑一个非常特殊的情况下的fasta文件,其中每个序列只包含在一行。但是,如果他们对你的文件在提取序列的开头有一个A,你只需要修改正则表达式来寻找第十个位置。
grep '^.........A' --no-group-separator -B 1 file.fa > new_file.fa
<input.fa paste - - | awk '$2 ~ /^.........A/ {printf("%s\n%s\n", $1, $2)}'