У меня есть такой файл:
VLLKHCGRMRRFLIRNLRSFLSHISLNTLKSQESKV
LLSSQAKMYFSLRENFYLEGGIETTFVPSGEVYSRSFLKGISRI
LNPNALPTSPISENWVMVRPIVAQISLRRMTPSAIGAQTEMA
MKLELLLAFKYLIPKRKRLSSSIVSAFSMGIVALVVWLSVVFMSVIHGLQQRWVGDLASLHSSIRIEPSDKYYESYYYQIDSHAEASQYIYKTIGEKLLCEQTDPYDPDVDFLLPEAFPDPEFSDNGEMIDPVRTANERMLSLFSSRKGSFVEFEEGMGHVHMDRAFRGHKGEPRALSQYIAYSSDILYQQRMLPFEETDYSTEVLNRFNASSEGWLADFLVLQEKFRGMSVILPVVYRDQGYRVGDTASLSVFSVKKEGEVRFPLRVIGFYNPGVSPFGGKTIFIDKELAASIRSESEGLGMHNGWQVFLPSVQDIPVMKQSIQKIFKESEVSSYWEISSLYDYEFFKPILDQLQSDQVLFSIVSFIVLIVACSNIVTMSILLVNNKKKEIGILKAMGVSSSRLQLVFGLCGACSGLVGALLGSILAALTLKNLGILTHWLSKLQGREAFNPSFFGEQLPQDFHLPTVICLSLGALVLAAISGAIPAQHVARMQVSDILKSE
MVILVEAKHISKVIQQQDVCIPILKDVSFQLHAGEVVAITGASGSGKSSLLHLLGTLDQPSSGQILFFGKQVRREELPIFRNCRIGFIFQNFYLLEDDSVINNVLMPAQIARKDTGQKSKARERALALLESVGLVDRRDEKGSLLSGGEKQRVAIARALMNDPEIVLADEPSGNLDHRTADTIHELLLALAEKHRGVLIVTHDRELAEKCHREEILRDGTLMQRQ
LKDTVTPNYHPGMIRRFRPLTQTSTRSGYHKSE
LHVSCLEWLSMITFTRTPLRIAWARAKKNSGLKKIYIKTKILSVAWLIAFKIIFDAALGIKRWIGM
LADPVTTVWKSANIVFLCWRVLPLVRRKTTLEF
LARRRSGSFRGGRRSVFGSLVFSLGSGEHLLGDGY
VGARVRIDANRLSIPSMIVFIANNRRGLWVTIPF
VEEVGSGGLKRSLYFKEEEPCTLITLRSWLEKKET
Я хочу, чтобы каждая строка файла сохранялась в отдельном файле, имя которого — номер строки оригинала ( 1
, 2
, 3
, и т. д.). Мне также нужно добавить строку перед каждой последовательностью, начинающейся с a, >
а затем номер строки.
Итак, 1.txt
будет:
>1
VLLKHCGRMRRFLIRNLRSFLSHISLNTLKSQESKV
и 2.txt:
>2
LLSSQAKMYFSLRENFYLEGGIETTFVPSGEVYSRSFLKGISRI
и т. д. Как это сделать?
решение1
Вы можете использовать awk
:
awk '{print > NR".txt"}' file
NR
— это номер текущей строки в awk
, поэтому команда выше выведет каждую строку в файл, имя которого равно номеру текущей строки плюс .txt
.
Если вы действительно хотите, чтобы последовательности имели >
префикс, используйте это:
awk '{print ">"$0 > NR".txt"}' file
А если вам нужен правильный формат FASTA (каждой последовательности предшествует строка, начинающаяся с , >
и имя последовательности), используйте это:
awk '{printf ">%s\n%s\n",NR,$0 > NR".txt"}' file
Это создаст такие файлы:
$ cat 3.txt
>3
LNPNALPTSPISENWVMVRPIVAQISLRRMTPSAIGAQTEMA