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
  • printfptintファイル名。
  • そしてcatファイルの内容を印刷します。
  • >newfileすべてを名前付きディレクトリにリダイレクトしますnewfile

または以下を使用してawk

awk 'FNR==1{print ">"FILENAME}1' file*.seq
  • FNR==1ファイルの現在のレコード番号。
    • print ">"FILENAMEファイル名を先行印刷>
  • 1それ以外の場合は、その行を印刷してください。

関連情報