如何用批处理BAT找到a.txt中的片段并保存到b.txt? 100
例如:a.txt中大量数据>1abcdefg331d12dc1vgb3jkndoa8u24>2hcnuoby4y234f342f5534f543f5f34f523f43f...
例如:
a.txt中大量数据
>1
abcdefg331d12dc1vgb
3jkndoa8u24
>2
hcnuoby4y234
f342f5534f543f5f34f523f43f23v
f345f4532f
>3
.......
我要提取a.txt中的>2一整段(包括>2这一行),行数不确定,在>3前结束的这一段内容到b.txt并添加一个回车,能做到吗?谢谢!
如果能自定义输入并提取下行多个>标签那最好了
b.txt中显示:
>2
hcnuoby4y234
f342f5534f543f5f34f523f43f23v
f345f4532f 展开
a.txt中大量数据
>1
abcdefg331d12dc1vgb
3jkndoa8u24
>2
hcnuoby4y234
f342f5534f543f5f34f523f43f23v
f345f4532f
>3
.......
我要提取a.txt中的>2一整段(包括>2这一行),行数不确定,在>3前结束的这一段内容到b.txt并添加一个回车,能做到吗?谢谢!
如果能自定义输入并提取下行多个>标签那最好了
b.txt中显示:
>2
hcnuoby4y234
f342f5534f543f5f34f523f43f23v
f345f4532f 展开
2个回答
展开全部
不清楚你的实际文件,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
复制粘贴到记事本,另存为xx.bat,编码选ANSI
/*&cls
@echo off
rem 提取一个txt文本文件里指定特征的行及其下面的多行内容
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "input=a.txt"
set "output=b.txt"
set "str=>2"
type "%input%"|cscript -nologo -e:jscript "%~f0" "%str%"
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
var list=WSH.Arguments(0).split('|');
var text=WSH.StdIn.ReadAll();
for(var i=0;i<list.length;i++){
var kw=list[i].replace(/[\[\]\^\$\.\|\?\*\+\(\)\\\/]/g,'\\$&');
var reg=new RegExp('(^|\\n)'+kw+'[\\s\\S]+?(?=\\n\\s*>|$)');
var m=text.match(reg);
if(m){
WSH.echo(m[0].replace(/^[\n]*/,''));
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询