=================================================
方法A:(推荐:速度快,简单)
用Replace Pioneer提取每行第一个4位数,并把该行追加到以该4位数命名的文件:
1. ctrl-o打开文本文件a.txt
2. ctrl-h打开replace窗口
* 把Replace Unit选为Line
* 在Search for pattern输入"(\d{4})"(不带双引号)
* 点击Advanced页,在Run following for each matched unit输入:
`echo $match >> D:\\temp\\$var[1].txt`(注意要包括左右的反引号`)
3. 点击Replace,完成!
注意要用2.52以上的版本。
=================================================
方法B:(对100万行排序极慢,不现实)
用Replace Pioneer把文本按照每行第17-20字符排序,分段并分割到文件的详细步骤:
一.把文本按照每行第17-20个字符进行排序,详细操作:
1.ctrl-o打开文本a.txt
2.ctrl-h打开replace窗口
*在replace with pattern输入:
sort_by_char($match,17,20)
3.点击Replace,得到:
D:\weizhi\35wei\3000\fenjie\848output.txt
D:\weizhi\09wei\3004\fenjie\647output.txt
D:\weizhi\01wei\3058\fenjie\594output.txt
D:\weizhi\04wei\3058\fenjie\137output.txt
二.把文本分段,第17-20个字符一样的分为一段,每段前面加如下格式的一行:FILENAME:D:\temp\3000.txt,得到:
FILENAME:D:\temp\3000.txt
D:\weizhi\35wei\3000\fenjie\848output.txt
FILENAME:D:\temp\3004.txt
D:\weizhi\09wei\3004\fenjie\647output.txt
FILENAME:D:\temp\3058.txt
D:\weizhi\01wei\3058\fenjie\594output.txt
D:\weizhi\04wei\3058\fenjie\137output.txt
然后把文本按照段进行自动分割并保存,详细步骤:
4.在刚才的结果上,ctrl-h打开replace窗口
* 把replace unit选为Line
* 在replace with pattern输入"$F$match\n"(不带双引号)
* 在下面把Output File设成d:\temp\output.txt,把左边的">"改选为"<< Split by paragraph"
* 点击Advanced 页,在run following for each matched unit输入:
$B=chars($match,17,20);
if ($A eq $B) {$F="";}
else {$A=$B; $F="FILENAME:D:\\temp\\$A.txt\n";}
* 点击Settings页,
把Para start选为Other,后面输入^FILENAME
把Para end选为None
5. 点击Replace,即可在D:\temp生成需要的结果文件
注:
* 以上一二两步执行后,在屏幕中间分别有一条执行记录,可以把该两条记录同时选中保存后下次使用。
* 每段前面加如下格式的一行:FILENAME:D:\temp\3000.txt是在第4步自动完成的,不需手工加。
=================================================