7.12.2008

本文介绍了一个使用C++编写的程序,该程序能够从一个大型文本文件中读取数据,并根据特定条件将其分割成多个独立的小文件。此外,还提供了一个批处理脚本,用于对这些分割后的文件进行进一步的预测处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
PROFphd
1、 分割文件 split.cpp

#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include   <sstream>
 
using namespace std;
 
int main()
{
    int name_num=0;
       
    ifstream infile("name_protein.txt");   //输入文件
    string line;
   
    ostringstream filename;                       //用来存储名字
   
        FILE *ofile;
        while(getline(infile,line))
        { 
         if(line[0]=='>')
              {  
            name_num++;
            filename<<name_num;
            ofile=fopen(filename.str().c_str(),"w"); //打开文件 文件命名为1、2、3等
            fprintf(ofile,"%s",line.c_str());
            fprintf(ofile,"/n");
              }
              else
              {
            fprintf(ofile,"%s",line.c_str());
            fclose(ofile);
            filename.str("");
           
            //free ofile;
        }
     }
     free(ofile);
}

运行成功后,生成乐16623个文件,在linux下可用下述命令统计文件数
 
ls -l ./split|wc –l    ##./split为存储所分割的文件的文件夹
 
2、 多序列预测
成功了!!!!!
mul_2.sh

#!/bin/bash
#dys
 
for ((i=1;i<=11;i++))
do
../../prof ./$i fileRdb="$i.out" sec //输入文件为"$i" , 输出为:"$i.out"
done

注:文件目录为
--prof-tmp
 --prof
    --prof (可执行文件)
--e
 --split
    --mul_2.sh (多序列预测)
 
运行:
nohup sh ./mul_2.sh &
 
查看结果:
ls –l ./split >result   或者 vim ./split/*.out
 
 

>sljdie
AFEOIEJFFEJFKIEJF
FOEJOIFEI
>jeojfij
SJOEJFEJFEIJ
JEOJWOJFLWJ
>feijfowji
FOEJIFJEIFJ
整行替换:

AFEOIEJFFEJFKIEJF
FOEJOIFEI
SJOEJFEJFEIJ
JEOJWOJFLWJ
FOEJIFJEIFJ
 
 

 
 
 

------------à
 
 
 
 
 
command:sed 's/^>.*/>/g' file > result
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值