麻烦大神帮忙编写一个整理文本文档的脚本或程序,谢谢!
需要整理的文本及过程如下:9011 L:901=0,901-1W=0 !
9011 H:901=0,901-1W=1,901-2W=1,1B-1D=0,1B-2D=0,10IM-D=0,901-D=0,14126=0 !2:901=0 !
在文本中进行逐行搜索,搜索到!2: 这三个字符的时候,在2前进行回车换行,然后在2前面自动插入L或者H前的数字编号。 怕表述不清楚,截了2个图片供大神参考,麻烦大神帮忙写个自动整理的脚本程序,谢谢!
示例:整理前的文本
整理后的文本:
收藏,明天试下shell脚本
就用了一个精益模块其他均是自带的,模块+源码下面有。看得懂自己改一下就行了很简单的
下载地址
https://www.lanzouj.com/i4uf25g
密码:52pj @Mahone ~]# sed -i '/!.*!$/s/\(^\+[[:space:]]\+\).*!2/&\n\12/'p <文件名字>
# sed -i 's/\(.*\)$/\1/' <文件名字>
楼主试试我这个 原文件是1.txt 新文件是2.txt
with open('2.txt','w+') as f1:
pass
with open("1.txt",'r+') as f:
lines = f.readlines()
for line in lines:
with open("2.txt",'a+') as f2:
#每行line来判断url.find("!2:") > 0:,然后写入新文件
if line.find("!2:") > 0:
s = line.find("!2:") #找到该字段所在位置s
end = line #代表是2:之后的字符串(每行)
first = line[:s+1] #代表!号之前的字符串(每行)
head = line.split(" ") #对当前行进行空格split,得出首字符串
#写入文件
f2.write(first + "\n" + head + " "+ end )
else:
#不匹配到就直接写
f2.write(line)
print("done")
运行前后
源文件为read.txt,处理后文件为write.txt(每行字符数不能超过1024个)
#include <stdio.h>
#include <string.h>
#define _CRT_SECURE_NO_WARNINGS
#pragma warning (disable: 4996)
int main()
{
FILE* fp;
FILE* fd;
char rowNum;
char buf;
char newbuf;
int i;
//读取文件
fp = fopen("read.txt", "r");
if (fp == NULL)
{
printf("文件读取失败\n");
return -1;
}
else
{
printf("正在读取文件...\n");
}
//写入文件
fd = fopen("write.txt", "w");
if (fd == NULL)
{
printf("写入文件打开失败\n");
return -2;
}
else
{
printf("正在写入文件...\n");
}
//读取每一行
while (fgets(buf, sizeof(buf), fp) != NULL)
{
//读取行号
strncpy(rowNum, buf, 4);
rowNum = '\0';
//判断是否要换行
for (i = 5; buf != '\0'; i++)
{
if (buf == '!' && buf == '2' && buf == ':')
break;
}
if (buf != '\0')
{
strncpy(newbuf, buf, i + 1);
newbuf = '\n';
newbuf = '\0';
strcat(newbuf, rowNum);
strcat(newbuf, " ");
strcat(newbuf, buf + i + 1);
fputs(newbuf, fd);
}
else
{
fputs(buf, fd);
}
//清空buf
memset(buf, 0, sizeof(buf));
}
//关闭
fclose(fp);
fclose(fd);
return 0;
}
源码及程序(win64):
链接: https://pan.baidu.com/s/1SilvekavrhzW2i6Rxdmmjw 提取码: 4d4b kge369 发表于 2019-7-5 11:30
原文件是1.txt 新文件是2.txt
with open('2.txt','w+') as f1:
小白问一下,这个python代码是怎么用的? Axian86 发表于 2019-7-5 12:29
小白问一下,这个python代码是怎么用的?
下午我打包成exe文件再发上来,
代码就是安装python环境,直接用源码运行,用源码可以按照自己的需求随便修改!
但是打包成exe就固定了,就不能随便修改了 kge369 发表于 2019-7-5 12:33
下午我打包成exe文件再发上来,
代码就是安装python环境,直接用源码运行,用源码可以按照自己的需求 ...
那谢谢大神打包exe,我对这个编码之类的是完全不懂,谢谢!
页:
[1]
2