[問題] 之前問過的程式加了新條件~~

看板Perl作者 (我是歹人雄大)時間18年前 (2006/10/24 01:39), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/5 (看更多)
#!/usr/bin/perl #serch and find what I want use strict; my $content; my $accession; my $REPORT_FILE = "report.txt"; my $fasta_file = $ARGV[0] || 'gbvrl1.seq'; unless ( -e $fasta_file ) { die "$0: ERROR: missing file: $fasta_file"; } open( IN, $fasta_file ) or die "$0: ERROR: $fasta_file: $!"; while (<IN>) { $content .= $_; $accession = $1 if ( $_ =~ /^ACCESSION\s+(\S+)/ ); if ( $_ =~ /^\/\// ) { open OUT, "> $accession"; print OUT $content; close OUT; $content = undef; } } ///////////////////////////////////// 上面是小弟之前問過的問題~~ 就是在每個"//"為結尾的檔案做切割輸出 後來因為這樣輸出後檔案太多了,一個gbvrl1.seq就可以輸出7萬多筆 如此一來我若是先輸出再把我要的檔案去grep出來就太費時了 所以我想說能在文件檔中"ORGANISM"欄位裡有提及的名稱如"Enterovirus"等 才作輸出如此一來就可以節省不少時間了 請問有比較好的做法嗎~~THX -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.131

10/24 01:58, , 1F
其實直覺想到的就是灌到 DB 裡去再讓 DB 幫你找出來 XD
10/24 01:58, 1F
文章代碼(AID): #15FFv83T (Perl)
文章代碼(AID): #15FFv83T (Perl)