从 2 个不同的文件创建一个 fasta 文件

从 2 个不同的文件创建一个 fasta 文件

我有 2 个文件file1.seqfile2.seq.

它们看起来像这样:

file1.seq
ACGGTGTGATG

file2.seq
CGTGATGATGT

我想制作一个 fasta 文件,如下所示:

>file1.seq
ACGGTGTGATG
>file2.seq
CGTGATGATGT

我怎样才能做到这一点?

答案1

用一个简单的 for 循环:

for f in file*.seq; do printf ">%s\n" "$f"; cat -- "$f"; done >newfile
  • for循环遍历目录中匹配的所有文件file*.seq
  • printfptints 文件名。
  • cat打印该文件的内容。
  • >newfile将所有内容重定向到名为newfile.

或者与awk

awk 'FNR==1{print ">"FILENAME}1' file*.seq
  • FNR==1是文件中当前的记录号
    • print ">"FILENAME打印带有前导的文件名>
  • 1在所有其他情况下打印该行。

相关内容