Я прочитал эту запись об использовании awk для разделения одного файла на несколько файлов:
, и меня интересует одно из решений, предложенных Pramod и jaypal singh:
awk '/^>chr/ {OUT=substr($0,2) ".fa"}; {print >> OUT; close(OUT)}' Input_File
Потому что я до сих пор не могу добавить комментарий, поэтому я спрашиваю здесь.Если введено значение
>chr22
asdgasge
asegaseg
>chr1
aweharhaerh
agse
>chr14
gasegaseg
Почему получится три файла:
chr22.fasta
chr1.fasta
chr14.fasta
Например, в chr22.fasta:
>chr22
asdgasge
asegaseg
Iпонять первую часть
/^>chr/ {OUT=substr($0,2) ".fa"};
и эти команды:
/^>chr/ substr() close() >>
Но я не понимаю, как awk разделил ввод по второй части:
{print >> OUT; close(OUT)}
Может кто-нибудь объяснить более подробно об этой команде?Большое спасибо!