关于matlab自动修改txt文件的问题
如图这是一个txt文件,原文件里没有倒数第二行的elsum(summary)=all这条命令,现在我想用matlab实现自动添加到倒数第二行该如何做?多谢各位帮助...
如图这是一个txt文件,原文件里没有倒数第二行的elsum(summary)=all这条命令,现在我想用matlab实现自动添加到倒数第二行 该如何做?多谢各位帮助
展开
1个回答
展开全部
需求和条件没太描述清楚:
1、为什么要自动修改?因为同类文件有很多个?
2、所谓的“倒数第二行”根据什么规则来定?至少有以下几种可能:
(1)最后一个换行符之前;
(2)最后一个非空行之前(也就是,文件尾部可能有多个空行,应该被忽略);
(3)查找特征,例如“BEIGIN BULK”,放在该行之前。这种情况还要考虑:会不会有多个?如果有多个,应该放在最后一个的前面?
3、修改后是写回原文件,还是另外建立文件(建议后者,可新建文件夹,把改后的文件放在新文件夹中,便于核对)?
这些相关的条件和要求请楼主明确一下,编程序倒是不困难。
更多追问追答
追答
参考代码:
fid = fopen(file, 'rt+');
s = fread(fid,inf,'*char')';
inx=strfind(s,'BEIGIN BULK');
s1=[s(1:inx(end)-1) 'elsum(summary)=all' 10 s(inx(end):end)];
fseek(fid, 0, 'bof');
fwrite(fid,s1);
fclose(fid);
其中file为需要处理的文件名。建议先找几个文件测试一下,对结果满意再正式使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询