У меня есть один файл (input.txt), который выглядит следующим образом:
# STOCKHOLM 1.0
#=GF AC RF00001
#=GF ID 5S_rRNA
ghgjg---jkhkjhkjhk
## STOCKHOLM 1.0
#=GF AC RF00002
#=GF ID 6S_rRNA
hhhjkjhk---kjhkjhkj
## STOCKHOLM 1.0
#=GF AC RF00005
#=GF ID 12S_rRNA
hkhjhkjhkjuuwww
Мне нужно разделить файл, где строка равна ## stockholm1.0, и назвать файл со значением в вторая строка RF00001_full.txt.Hence, для входного файла я должен иметь возможность получить 3 различных файла следующим образом:
RF00001_full.txt
# STOCKHOLM 1.0
#=GF AC RF00001
#=GF ID 5S_rRNA
ghgjg---jkhkjhkjhk
RF00002_full.txt
## STOCKHOLM 1.0
#=GF AC RF00002
#=GF ID 6S_rRNA
hhhjkjhk---kjhkjhkj
RF00005_full.txt
## STOCKHOLM 1.0
#=GF AC RF00005
#=GF ID 12S_rRNA
hkhjhkjhkjuuwww
Код, который я пробовал до сих пор, выглядит следующим образом:
while read p;
if [[ $p == ## STOCKHOLM 1.0* ]];
then
#what should I do here to sort the line by OS ?
done <input.txt