Board logo

标题: [文本处理] [已解决]批处理文本的穿插组合……请问,谢谢! [打印本页]

作者: 灯塔彭于晏    时间: 2021-2-1 22:11     标题: [已解决]批处理文本的穿插组合……请问,谢谢!

先谢谢了,祝新年快乐!
现有文本22.txt,内容如下:
  1. 各務原なでしこ,
  2. 摇曳露营△,
  3. Sakura Kagamihara,
  4. 眼镜,
  5. 各務原なでしこ,
  6. 摇曳露营△,
  7. Sakura Kagamihara,
  8. 眼镜,
  9. 各務原なでしこ,
  10. 摇曳露营△,
  11. Sakura Kagamihara,
  12. 眼镜,
  13. 各務原なでしこ,
  14. 摇曳露营△,
  15. Sakura Kagamihara,
  16. 眼镜,
复制代码
每一组之间隔了2个空格。想实现:
  1. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
  2. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
  3. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
  4. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
复制代码
的效果,每一组拍成一行,合并后成为 四组四行。
然后插入到文本 11.txt 中。 11.txt内容如下:
  1. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  2. <p><img src="https://baidu.com/gongsi/87383010.jpg"/></p>   
  3. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  4. <p><img src="https://baidu.com/gongsi/87374488.jpg"/></p>   
  5. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  6. <p><img src="https://baidu.com/gongsi/87370130.jpg"/></p>   
  7. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  8. <p><img src="https://baidu.com/gongsi/87369934.jpg"/></p>   
  9. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  10. <p><img src="https://baidu.com/gongsi/87369507.jpg"/></p>   
  11. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  12. <p><img src="https://baidu.com/gongsi/87324568.jpg"/></p>   
  13. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  14. <p><img src="https://baidu.com/gongsi/87383010.jpg"/></p>   
  15. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  16. <p><img src="https://baidu.com/gongsi/87374488.jpg"/></p>   
  17. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  18. <p><img src="https://baidu.com/gongsi/87370130.jpg"/></p>   
  19. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  20. <p><img src="https://baidu.com/gongsi/87369934.jpg"/></p>   
  21. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  22. <p><img src="https://baidu.com/gongsi/87369507.jpg"/></p>   
  23. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  24. <p><img src="https://baidu.com/gongsi/87324568.jpg"/></p>   
  25. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  26. <p><img src="https://baidu.com/gongsi/87383010.jpg"/></p>   
  27. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  28. <p><img src="https://baidu.com/gongsi/87374488.jpg"/></p>   
  29. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  30. <p><img src="https://baidu.com/gongsi/87370130.jpg"/></p>   
  31. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  32. <p><img src="https://baidu.com/gongsi/87369934.jpg"/></p>   
  33. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  34. <p><img src="https://baidu.com/gongsi/87369507.jpg"/></p>   
  35. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  36. <p><img src="https://baidu.com/gongsi/87324568.jpg"/></p>   
  37. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  38. <p><img src="https://baidu.com/gongsi/87383010.jpg"/></p>   
  39. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  40. <p><img src="https://baidu.com/gongsi/87374488.jpg"/></p>   
  41. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  42. <p><img src="https://baidu.com/gongsi/87370130.jpg"/></p>   
  43. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  44. <p><img src="https://baidu.com/gongsi/87369934.jpg"/></p>   
  45. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  46. <p><img src="https://baidu.com/gongsi/87369507.jpg"/></p>   
  47. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  48. <p><img src="https://baidu.com/gongsi/87324568.jpg"/></p>   
复制代码
实现效果如:
  1. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  2. <p><img src="https://baidu.com/gongsibianhao/87383010.jpg"/></p>   
  3. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  4. <p><img src="https://baidu.com/gongsibianhao/87374488.jpg"/></p>   
  5. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  6. <p><img src="https://baidu.com/gongsibianhao/87370130.jpg"/></p>   
  7. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  8. <p><img src="https://baidu.com/gongsibianhao/87369934.jpg"/></p>   
  9. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  10. <p><img src="https://baidu.com/gongsibianhao/87369507.jpg"/></p>   
  11. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  12. <p><img src="https://baidu.com/gongsibianhao/87324568.jpg"/></p>   
  13. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
  14. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  15. <p><img src="https://baidu.com/gongsibianhao/87383010.jpg"/></p>   
  16. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  17. <p><img src="https://baidu.com/gongsibianhao/87374488.jpg"/></p>   
  18. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  19. <p><img src="https://baidu.com/gongsibianhao/87370130.jpg"/></p>   
  20. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  21. <p><img src="https://baidu.com/gongsibianhao/87369934.jpg"/></p>   
  22. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  23. <p><img src="https://baidu.com/gongsibianhao/87369507.jpg"/></p>   
  24. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  25. <p><img src="https://baidu.com/gongsibianhao/87324568.jpg"/></p>   
  26. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
  27. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  28. <p><img src="https://baidu.com/gongsibianhao/87383010.jpg"/></p>   
  29. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  30. <p><img src="https://baidu.com/gongsibianhao/87374488.jpg"/></p>   
  31. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  32. <p><img src="https://baidu.com/gongsibianhao/87370130.jpg"/></p>   
  33. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  34. <p><img src="https://baidu.com/gongsibianhao/87369934.jpg"/></p>   
  35. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  36. <p><img src="https://baidu.com/gongsibianhao/87369507.jpg"/></p>   
  37. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  38. <p><img src="https://baidu.com/gongsibianhao/87324568.jpg"/></p>   
  39. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
  40. <div class="info"><p>[ゆるキャン△ 【ゆるキャン△】各務原姉妹 - シリアル  -  87383010 -  1694x1199]</p></div>
  41. <p><img src="https://baidu.com/gongsibianhao/87383010.jpg"/></p>   
  42. <div class="info"><p>[ゆるキャン△ 今日のらくがき2021/01/29 - はにゃ  -  87374488 -  2000x2561]</p></div>
  43. <p><img src="https://baidu.com/gongsibianhao/87374488.jpg"/></p>   
  44. <div class="info"><p>[ゆるキャン△ 「お姉ちゃん、あのね」 - ゼイラム  -  87370130 -  1080x1440]</p></div>
  45. <p><img src="https://baidu.com/gongsibianhao/87370130.jpg"/></p>   
  46. <div class="info"><p>[ゆるキャン△ おやつのルール - みちのく.  -  87369934 -  3508x2480]</p></div>
  47. <p><img src="https://baidu.com/gongsibianhao/87369934.jpg"/></p>   
  48. <div class="info"><p>[ゆるキャン△ お姉ちゃん! - わっぺん  -  87369507 -  1536x2048]</p></div>
  49. <p><img src="https://baidu.com/gongsibianhao/87369507.jpg"/></p>   
  50. <div class="info"><p>[ゆるキャン おねえちゃん - ゆきの  -  87324568 -  1000x1569]</p></div>
  51. <p><img src="https://baidu.com/gongsibianhao/87324568.jpg"/></p>   
  52. 各務原なでしこ, 摇曳露营△, Sakura Kagamihara, 眼镜,
复制代码
保留空格
作者: 灯塔彭于晏    时间: 2021-2-1 22:13

内容不止有四个,这里只是举例。
文本(22.txt)里的英文逗号  ,  要保留
最终结果(33.txt)里的空格如举例所表现的那样。


谢谢大家了,鞠躬!
作者: qixiaobin0715    时间: 2021-2-2 10:03

本帖最后由 qixiaobin0715 于 2021-2-2 10:54 编辑

回复 1# 灯塔彭于晏
由于合并文本的行时,是使用空行作为判别条件的,所以测试文本22.txt最后一行必须增加一个空行才能使用下列代码:
  1. @echo off
  2. set x=0
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%a in ('findstr /n ".*" 22.txt') do (
  5.     set "str1=%%a"
  6.     if not "!str1:*:=!"=="" (
  7.         set "str2=!str2!!str1:*:=!"
  8.         set y=0
  9.     ) else (
  10.         set /a y+=1
  11.         if !y!==1 set /a x+=1&set _!x!=!str2!
  12.         set "str2="
  13.     )
  14. )
  15. set m=0
  16. (for /f "delims=" %%a in ('findstr /n ".*" 11.txt') do (
  17.     set "var=%%a"
  18.     echo,!var:*:=!
  19.     if not "!var:*:=!"=="" (
  20.         set n=0
  21.     ) else (
  22.         set /a n+=1
  23.         if !n!==1 set /a m+=1&for %%c in (_!m!) do echo,!%%c!
  24.     )
  25. ))>33.txt
  26. pause
复制代码

作者: WHY    时间: 2021-2-2 11:24

test.js
  1. var fso = new ActiveXObject('Scripting.FileSystemObject');
  2. var s = '';
  3. var arr = [];
  4. var objFile = fso.OpenTextFile('22.txt', 1);
  5. while( !objFile.AtEndOfStream ){
  6.     strLine = objFile.ReadLine().replace(/^\s+|\s+$/g, '');
  7.     if( strLine == '' ){
  8.         if( s != '' ) arr.push( s );
  9.         s = '';
  10.     } else if( /,$/.test(strLine) ){
  11.         s += strLine;
  12.     }
  13. }
  14. if( s != '' ) arr.push( s );
  15. objFile.Close();
  16. var i = 0;
  17. var objFile = fso.OpenTextFile('11.txt', 1);
  18. var str = objFile.ReadAll() + '\r\n\r\n\r\n';
  19. str = str.replace(
  20.     /(?:\r\n){3,}/g,
  21.     function(){ return '\r\n\r\n' + arr[i++] + '\r\n\r\n\r\n'; }
  22. );
  23. fso.OpenTextFile('33.txt', 2, true).Write(str);
  24. WSH.Echo('Done');
复制代码





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