精品技术论坛

精品技术论坛 (https://bbs.et8.net/bbs/index.php)
-   『软件使用』 (https://bbs.et8.net/bbs/forumdisplay.php?f=17)
-   -   【求助】求一个批处理或者脚本编写 (https://bbs.et8.net/bbs/showthread.php?t=1367727)

一平 2019-02-20 08:28:59

【求助】求一个批处理或者脚本编写
 
批处理需求如下:
有一个文件,非文本格式文件File1.dat,但里面有特定偏移量位置字段信息是明文的。
需要从里面特定偏移量%A地址,截取长度为%B的字段,导出到File2.txt
需要从里面特定偏移量%C地址,截取长度为%D的字段,导出追加到File2.txt
然后File2.txt追加一个空行,以方便我在处理下一个同名文件时,追加的内容字段有间隔。

minuteman 2019-02-20 11:37:40

2 个附件
吃饭前写个小程序

pontiff 2019-02-20 13:00:47

学学python 吧很容易就可以了
文件读取,指针定位

jimmy_dong 2019-02-20 14:11:09

授人以渔,不如先给人鱼

PHP 代码:

# -*- coding:utf-8 -*-
import sys

if len(sys.argv) < 5:
    print(
"use: python3 this_file [input_file] [output_file] [begin] [length]")
    exit()

input_file sys.argv[1]
output_file sys.argv[2]
begin int(sys.argv[3])
length int(sys.argv[4])

with open(output_file'ab') as out:
    
with open(input_file'rb') as f:
        
f.seek(begin)
        
out.write(f.read(length))
    
out.write(bytes("\n"encoding='ascii'))
print(
"done"

注意: 要用Python3

~~呵呵~~

一平 2019-02-22 07:10:49

谢谢2楼的兄弟。
能不能麻烦再写个小程序,就是寻找一个指定字符串的起始偏移量,输出位置到文件。
这样我就可以自己再写批处理,和之前你写的小程序做个整合。

minuteman 2019-02-22 07:29:55

引用:

作者: 一平 (文章 17305608)
谢谢2楼的兄弟。
能不能麻烦再写个小程序,就是寻找一个指定字符串的起始偏移量,输出位置到文件。
这样我就可以自己再写批处理,和之前你写的小程序做个整合。

搜索特定关键字,然后从这个关键字开始取一段字符串出来?那不如直接用windows自带的一些小工具了吧,比如find,findstr等等,或者直接grep的win32版本,通过正则提取

minuteman 2019-02-22 11:16:36

2 个附件
改了一下以前写的一个程序,加了一个功能进去,匹配的字符串是PCRE的正则,当然直接这样写固定字符串也没问题,注意转义符就行,看例子截图应该差不多吧

一平 2019-02-22 13:30:47

呵呵,谢谢楼上各位兄弟。
我根据这两个小程序结合起来,写的批处理,呵呵,完美实现了我的需求。


所有时间均为北京时间, 现在的时间是 09:41:30.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号