标题: [文本处理] 批处理如何合并txt文本里以空行分割的每一段文字? [打印本页]
作者: crx25 时间: 2011-11-22 15:44 标题: 批处理如何合并txt文本里以空行分割的每一段文字?
本帖最后由 pcl_test 于 2016-9-24 13:29 编辑
例如1.txt上有如下文字:
花厅
我来看过
你,
可是你
不在家里,回来联系我!!
小明。
人物
要求结果为如下输出至2.txt
花厅
我来看过你,可是你不在家里,回来联系我!!小明。
人物
请高手赐教,谢谢!!
作者: 545810831 时间: 2011-11-22 16:22
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1,2 delims=:" %%i in ('findstr /n ".*" 1.txt') do (set _%%i=%%j
- if "!_%%i!"=="" set _%%i=$
- set str=!str!!_%%i!
- set str=!str: =!
- )
- set str=!str:$= !
- for %%i in (!str!) do (
- echo %%i
- echo.
- )
- pause
复制代码
作者: crx25 时间: 2011-11-22 16:50
545810831 发表于 2011-11-22 16:22
师傅,你这代码没有输出呢?
作者: 545810831 时间: 2011-11-22 18:01
加上重定向符就可以了- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1,2 delims=:" %%i in ('findstr /n ".*" 1.txt') do (set _%%i=%%j
- if "!_%%i!"=="" set _%%i=$
- set str=!str!!_%%i!
- set str=!str: =!
- )
- set str=!str:$= !
- for %%i in (!str!) do (
- echo %%i
- echo.
- )>>2.txt
- pause
复制代码
作者: awk 时间: 2011-11-22 22:05
- sed ":a;$!N;s/\n\(..*\)/\1/;ta;P;D" a.txt >b.txt
复制代码
作者: powerbat 时间: 2011-11-23 09:34
- @set @n=0//&cscript.exe -e:jscript "%~f0"&exit /b
-
- file = "1.txt";
- out = "2.txt";
-
- fso = new ActiveXObject("Scripting.FileSystemObject");
- s = fso.OpenTextFile(file).ReadAll();
- s = s.replace(/(.)\r\n(?!\r\n)/g, '$1');
- fso.OpenTextFile(out, 2, true).writeLine(s);
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |