lmz7573 2023-03-05 08:45 采纳率: 12.5%
浏览 36
已结题

如何用matlab脚本把下面的文件前21行删掉

如何用matlab脚本把下面的文件前21行删掉
如果将文件中的0xD001替换成0xA004

/******************************************************************************
 *
 *  ASAP2 file:     ABC.a2l
 *
 * Code generation for model "C".
 *
 * (add additional file header information here)
 *
 ******************************************************************************/

ASAP2_VERSION  1 31   /* Version 1.31 */
    
    /begin MOD_COMMON  "Mod Common Comment Here" 
    /end MOD_COMMON
    
    /begin RECORD_LAYOUT Scalar_BOOLEAN
      FNC_VALUES  1 UBYTE COLUMN_DIR DIRECT
    /end   RECORD_LAYOUT
    
  
    
    /begin CHARACTERISTIC      
      /* Name                   */      krsh
      /* Long Identifier        */      ""
      /* Characteristic Type    */      CURVE
      /* ECU Address            */      0xD0010150
      /* Record Layout          */      Lookup1D_UWORD
      /* Maxdiff                */      0
      /* Conversion Method      */      CCM_uint16
      /* Lower Limit            */      0.0
      /* Upper Limit            */      4096.0
      /begin AXIS_DESCR                 
        /* Description of X-Axis Points */
        /* Axis Type            */      COM_AXIS
        /* Reference to Input   */      NO_INPUT_QUANTITY
        /* Conversion Method    */      Cnt16
        /* Number of Axis Pts   */      6
        /* Lower Limit          */      0.0
        /* Upper Limit          */      4096.0
        AXIS_PTS_REF                    ktaint_adc_Acccorr_axis
      /end AXIS_DESCR
    /end CHARACTERISTIC


  • 写回答

4条回答 默认 最新

  • CodeBytes 2023-03-05 10:10
    关注

    该回答引用ChatGPT

    你可以使用Matlab的文本读写函数和字符串操作来删除文件的前21行。以下是一个例子:

    
    % 指定文件路径
    file_path = 'path/to/your/file.txt';
    
    % 读取文件内容
    file_content = fileread(file_path);
    
    % 找到第22行的位置
    line_end_indices = regexp(file_content, '\n');
    line_start_index = line_end_indices(21) + 1;
    
    % 删除前21行
    file_content(1:line_start_index-1) = [];
    
    % 将更改后的内容写回文件
    fid = fopen(file_path, 'w');
    fwrite(fid, file_content);
    fclose(fid);
    
    

    首先,你需要指定你想要处理的文件路径。然后,使用fileread函数读取文件的内容并将其存储在file_content变量中。接下来,使用正则表达式和regexp函数找到第22行的起始位置。最后,使用字符串操作来删除前21行,并使用fwrite函数将更改后的内容写回原始文件。注意,fwrite函数可以直接写入字符串,因为字符串是由字节组成的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月5日
  • 已采纳回答 3月5日
  • 修改了问题 3月5日
  • 赞助了问题酬金15元 3月5日
  • 展开全部

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么