Board logo

标题: (已解决)有偿100元求助,批处理查找TXT特定字符,并反馈另外一行的特定字符到 [打印本页]

作者: mzone6789    时间: 2021-6-1 00:08     标题: (已解决)有偿100元求助,批处理查找TXT特定字符,并反馈另外一行的特定字符到

本帖最后由 mzone6789 于 2021-6-1 17:16 编辑

2021-05-31T22:27:11.653  chia.plotting.check_plots        : INFO     Testing plot C:\chia\plot-k32-2021-05-16-10-40-ecfcaf194ba4b1f464111be63715e75b4d409a27c3f8e6e9e5dda97fdeac593f.plot k=32
2021-05-31T22:27:11.654  chia.plotting.check_plots        : INFO             Pool public key: 997d733b57c104841e67179ddb3fa1d624ed9472bc3b726bc3506c1eeb9cf6205ca2a3d202a0d6aa9bea704288266be5
2021-05-31T22:27:11.688  chia.plotting.check_plots        : INFO             Farmer public key: a237de78edb0b8465881d117bbbe6988b1f4defdd0e4866642049fef23552ec6c6729b9f61432e5259da4814133f1e5e
2021-05-31T22:27:11.688  chia.plotting.check_plots        : INFO             Local sk: <PrivateKey 3bea045cb91b8f2a43715aaabb716b52bdab38d2d51e973c7f95ffbbd23fb5dc>
2021-05-31T22:27:11.998  chia.plotting.check_plots        : INFO             Proofs 30 / 30,1.0
2021-05-31T22:27:11.998  chia.plotting.check_plots        : INFO     Testing plot G:\chia\plot-k32-2021-05-24-21-38-1d183c4244313cd1e7d2644e8f909b2eeb561c53dccee5355362170f315d5d11.plot k=32
2021-05-31T22:27:11.998  chia.plotting.check_plots        : INFO             Pool public key: 997d733b57c104841e67179ddb3fa1d624ed9472bc3b726bc3506c1eeb9cf6205ca2a3d202a0d6aa9bea704288266be5
2021-05-31T22:27:12.007  chia.plotting.check_plots        : INFO             Farmer public key: a237de78edb0b8465881d117bbbe6988b1f4defdd0e4866642049fef23552ec6c6729b9f61432e5259da4814133f1e5e
2021-05-31T22:27:12.007  chia.plotting.check_plots        : INFO             Local sk: <PrivateKey 37b3829a35c2e7c83bd7610f996f7c09b7492a6eef2bb7c5bb6a86c0bf2d0376>
2021-05-31T22:27:12.232  chia.plotting.check_plots        : INFO             Proofs 23 / 30, 0.7667


以上是某文件的其中一段内容内容 要求:查找1.txt如:Proofs 30 / 30,1.0 输出本行开始向上第5行的Testing plot 后面的内容一直到K=32结束,并且Proofs 30 / 30,1.0这个付在输出行的后面。
如:C:\chia\plot-k32-2021-05-16-10-40-ecfcaf194ba4b1f464111be63715e75b4d409a27c3f8e6e9e5dda97fdeac593f.plot k=32 -->Proofs 30 / 30,1.0 输出到>>2.txt
再高级点,判断 Proofs 23 / 30, 0.7667 最后的0.7667,如果这个数字是小于1的才输出上面的内容。
如:G:\chia\plot-k32-2021-05-24-21-38-1d183c4244313cd1e7d2644e8f909b2eeb561c53dccee5355362170f315d5d11.plot k=32——> Proofs 23 / 30, 0.7667  输出到>>2.txt
作者: xczxczxcz    时间: 2021-6-1 01:34

powershell 3+;  需要密码

链接:[url]https://pan.baidu.com/s/1aaSR_qvt6dsx8dsxFwWQQA
提取码:0601
[/url]
作者: xczxczxcz    时间: 2021-6-1 01:43

bat 版  需 sn
https://pan.baidu.com/s/1V5N6FzbgWcm_R6XhnaX5Og
提取码:6cmd
作者: zaqmlp    时间: 2021-6-1 06:01

  1. <# :
  2. cls&echo off&mode con lines=3000
  3. rem 编码ANSI
  4. cd /d "%~dp0"
  5. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
  6. pause
  7. exit
  8. #>
  9. $file1="1.txt";
  10. $file2="2.txt";
  11. $file3="3.txt";
  12. if(-not (test-path -liter $file1)){write-host ('"'+$file1+'" 未找到');exit;};
  13. $arr=New-Object -TypeName System.Collections.ArrayList;
  14. $enc=[Text.Encoding]::GetEncoding('GB2312');
  15. $text=[IO.File]::ReadAllLines($file1,$enc);
  16. for($i=0;$i -lt $text.count;$i++){
  17.     $m1=[regex]::match($text[$i],'(Proofs -?\d+(?:\.\d+)? / -?\d+(?:\.\d+)?) ?, ?(-?\d+(?:\.\d+)?)');
  18.     if($m1.success){
  19.         $n=$i-4;
  20.         if($n -ge 0){
  21.             $m2=[regex]::match($text[$n],'Testing plot ?(.+)(?=\x1b)');
  22.             if($m2.success){
  23.                 $brr=($m1.groups[1].value,$m1.groups[2].value,$m2.groups[1].value);
  24.                 [void]$arr.add($brr);
  25.             }
  26.         }
  27.     }
  28. }
  29. $result=New-Object -TypeName System.Collections.ArrayList;
  30. for($i=0;$i -lt $arr.count;$i++){
  31.     $line=$arr[$i][2]+'-->'+$arr[$i][0]+','+$arr[$i][1];
  32.     [void]$result.add($line);
  33. }
  34. [IO.File]::WriteAllLines($file2,$result,$enc);
  35. $result=New-Object -TypeName System.Collections.ArrayList;
  36. for($i=0;$i -lt $arr.count;$i++){
  37.     if(1*($arr[$i][1]) -lt 1){
  38.         $line=$arr[$i][2]+'-->'+$arr[$i][0]+','+$arr[$i][1];
  39.         [void]$result.add($line);
  40.     }
  41. }
  42. [IO.File]::WriteAllLines($file3,$result,$enc);
  43. exit;
复制代码

作者: mzone6789    时间: 2021-6-1 16:30

使用“1”个参数调用“Create”时发生异常:“所在位置 行:15 字符: 36
+ $enc=[Text.Encoding]::GetEncoding('GB2312');
+                                    ~~~~~~~~~
表达式或语句中包含意外的标记“GB2312');
$text=[IO.File]::ReadAllLines($file1,$enc);
for($i=0;$i -lt $text.count;$i++){
    $m1=[regex]::match($text[$i],'”。
所在位置 行:15 字符: 36
+ $enc=[Text.Encoding]::GetEncoding('GB2312');
+                                    ~
表达式中缺少右“)”。
所在位置 行:18 字符: 84
+ ... ($text[$i],'(Proofs -?\d+(?:\.\d+)? / -?\d+(?:\.\d+)?) ?, ?(-?\d+(?:\ ...
+                                                                  ~
一元运算符“-”后面缺少表达式。
所在位置 行:18 字符: 84
+ ... xt[$i],'(Proofs -?\d+(?:\.\d+)? / -?\d+(?:\.\d+)?) ?, ?(-?\d+(?:\.\d+ ...
+                                                              ~~~~
表达式或语句中包含意外的标记“?\d+”。
所在位置 行:18 字符: 84
+ ... ($text[$i],'(Proofs -?\d+(?:\.\d+)? / -?\d+(?:\.\d+)?) ?, ?(-?\d+(?:\ ...
+                                                                  ~
表达式中缺少右“)”。
所在位置 行:13 字符: 35
+ if(-not (test-path -liter $file1)){write-host ('"'+$file1+'" 鏈壘鍒?);e ...
+                                   ~
语句块或类型定义中缺少右“}”。
所在位置 行:18 字符: 98
+ ... ,'(Proofs -?\d+(?:\.\d+)? / -?\d+(?:\.\d+)?) ?, ?(-?\d+(?:\.\d+)?)');
+                                                                      ~
表达式或语句中包含意外的标记“)”。
所在位置 行:22 字符: 43
+             $m2=[regex]::match($text[$n],'Testing plot ?(.+)(?=\x1b)' ...
+                                           ~~~~~~~
表达式或语句中包含意外的标记“Testing”。
所在位置 行:41 字符: 47
+         $line=$arr[$i][2]+'-->'+$arr[$i][0]+','+$arr[$i][1];
+                                               ~~~~~~~~~~~~~~
字符串缺少终止符: '。”
所在位置 行:1 字符: 1
+ Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAll ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: ( [], MethodInvocationException
    + FullyQualifiedErrorId : ParseException

请按任意键继续. . .
作者: slimay    时间: 2021-6-1 16:41

下次找我,给你半价解决。终生免费售后技术支持。
作者: mzone6789    时间: 2021-6-1 17:00

本贴已得到解决,谢谢zaqmlp老哥,钱已支付
作者: mzone6789    时间: 2021-6-1 17:18

感谢xczxczxcz写的脚本,虽然我没有打开使用,写脚本不易下次再找你。
作者: mzone6789    时间: 2021-6-1 17:18

谢谢slimay,下次再找你




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2