标题: (已解决)30块钱求助批量删除txt文本重复行(不是百分之百相似) [打印本页]
作者: 黄大人 时间: 2020-7-31 00:29 标题: (已解决)30块钱求助批量删除txt文本重复行(不是百分之百相似)
本帖最后由 黄大人 于 2020-7-31 09:10 编辑
具体报酬:30元
支付方式:微信
联系方式:问题已解决-已删除
有效期限:问题已解决
1、行与行不是百分之百相似,现要求是截取前面的15个(我自己可设置)汉字去比较,如相似则保留第一行,其余相似行删除。
2、要有备份,处理之后的文件自动保存到别一文件夹。
处理前:
<p><em>电闪雷鸣</em>之后,暴雨发疯似的下起来。发出噼噼的响声。</p>
<p><em>电闪雷鸣</em>之后,暴雨发疯似的下起来。发出“噼噼啪啪”的响声。</p>
<p>苍鹰,却在黄草地的上空,自由自在的飞翔,它背负着蓝天,但是,上空却把它的翅膀磨砺得能够刺破苍天!</p>
<p><em>电闪雷鸣</em>之后,暴雨发疯似的下起来。发出“噼噼”的响声。</p>
<p><em>电闪雷鸣</em>之后,暴雨发疯似的下起来。骤然间,[整理]发出“噼噼啪啪”的响声。</p>
<p>苍鹰,却在黄草地的上空,自由自在的飞翔,它背负着蓝天,却把它的翅膀磨砺得能够刺破苍天!</p>
<p><em>电闪雷鸣</em>之后,暴雨发疯似的下起来。骤然间,天地间像隔着一层纱,迷迷蒙蒙,发出"噼噼"的响声。</p>
<p>苍鹰,却在黄草地的上空,自由自在的飞翔,它背负着蓝天,似乎在召唤春天的到来。得能够刺破苍天!</p>
<p>人生的风景不会永远风和日丽,也许阴雨绵绵会在明天,也许<em>电闪雷鸣</em>就在现在,不要因为一时的困难而怀疑一切的美好,请坚信美好的未来属于你!</p>
处理后:
<p><em>电闪雷鸣</em>之后,暴雨发疯似的下起来。发出噼噼的响声。</p>
<p>苍鹰,却在黄草地的上空,自由自在的飞翔,它背负着蓝天,但是,上空却把它的翅膀磨砺得能够刺破苍天!</p>
<p>人生的风景不会永远风和日丽,也许阴雨绵绵会在明天,也许<em>电闪雷鸣</em>就在现在,不要因为一时的困难而怀疑一切的美好,请坚信美好的未来属于你!</p>
作者: zaqmlp 时间: 2020-7-31 01:11
本帖最后由 zaqmlp 于 2020-7-31 01:18 编辑
- <# :
- cls
- @echo off
- cd /d "%~dp0"
- powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~f0'"
- pause
- exit
- #>
- $self=get-item -liter $args[0];
- $path=$self.Directory.FullName
- $len=15;
- $newfolder=$path+'\#result';
- if(-not (test-path -liter $newfolder)){[void](md $newfolder)};
- $files=@(dir -liter $path|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
- for($i=0;$i -lt $files.length;$i++){
- write-host $files[$i].Name;
- [System.Collections.ArrayList]$s=@();
- $dic=New-Object 'System.Collections.Generic.Dictionary[string,string]';
- $enc=[Text.Encoding]::Default;
- $text=[IO.File]::ReadAllLines($files[$i].FullName, $enc);
- for($j=0;$j -lt $text.count;$j++){
- $tmpline=$text[$j] -replace '[^\u4e00-\u9fa5]','';
- $a=$tmpline.length;
- $line=$tmpline;
- if($len -lt $a){$line=$tmpline.substring(0, $len);}
- if(-not $dic.ContainsKey($line)){
- $dic.add($line,'');
- [void]$s.add($text[$j]);
- };
- };
- $newfile=$newfolder+'\'+$files[$i].Name;
- [IO.File]::WriteAllLines($newfile, $s, $enc);
- };
复制代码
作者: ivor 时间: 2020-7-31 06:35
本帖最后由 ivor 于 2020-7-31 15:29 编辑
- #! /usr/bin/env python3
- # coding:utf-8
-
- """
- 取前15字符重复的行的第一行
- """
-
- source_file = '2.txt' # 源文件
- new_file = '3.txt' # 新文件路径
- pre_len = 15
- d = dict()
- with open(source_file,'r',encoding='utf-8') as sou, open(new_file,'w',encoding='utf-8') as new:
- for i in sou:
- if i[:pre_len] not in d:
- d[i[:pre_len]] = i # 前15个字符
- new.write(''.join(d.values()))
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |