[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样给文本添加序号及按行分割?


请问 findstr /n ".*" test.txt 这个命令添加行号时,

如何才能让按照 输入者指定一个数字开始列序号呢?

比如: 输入 100,  每行前的序号就从100开始向后排 ....

不求有上面的命令这么迅速, 但求尽量能快些,因为数据量委实很大.

请问sed命令完成上述的工作么?

还有,下面的命令有点小问题:

1、如果当前行以反斜杠“\”结束,则将下一行并到当前行末尾,并去掉原来行尾的反斜杠
sed -e :a -e "/\\$/N; s/\\\n//; ta" a.txt >b.txt     

这个命令也会同时删除TXT文档中所有的空行?

======================================================

2、 sed能否按照每6万条数据来分割TXT文档呢?

======================================================

已解决: sed = a.txt | sed "N;s/\n/|/" |find /v "" >abc.txt

询问的问题:


findstr /n ".*" test.txt   添加行号速度是很快的,

问题是如何才能不在行号后添加":"   而改为添加 "|" 这个符号呢?







[ 本帖最后由 youaoyi 于 2008-7-10 13:13 编辑 ]

测试一个30兆的文本文件,

原来的命令几秒钟序号就添加完毕了,

上面的这条命令十几分钟后仍在处理中,

没能等到处理完毕 Ctrl + C 了 ....

TOP

继续求教

请问 findstr /n ".*" test.txt 这个命令添加行号时,
如何才能让按照 输入者指定一个数字开始列序号呢?
比如: 输入 100,  每行前的序号就从100开始向后排 ....
不求有上面的命令这么迅速, 但求尽量能快些,因为数据量委实很大.

[ 本帖最后由 youaoyi 于 2008-7-10 08:32 编辑 ]

TOP

那么请问sed命令可以做到上面的输入指定序号的工作么?

还有,下面的命令有点小问题:

1、如果当前行以反斜杠“\”结束,则将下一行并到当前行末尾,并去掉原来行尾的反斜杠
sed -e :a -e "/\\$/N; s/\\\n//; ta" a.txt >b.txt     

这个命令也会同时删除TXT文档中所有的空行?

======================================================

2、 sed能否按照每6万条数据来分割TXT文档呢?

======================================================

无关备查: 如果当前行以等号开头,将当前行并到上一行末尾,并以单个空格代替原来行头的“=”
sed -e :a -e "$!N;s/\n=/ /;ta" -e "P;D"

[ 本帖最后由 youaoyi 于 2008-7-10 11:25 编辑 ]

TOP

已经修改标题,不知是否妥当.

TOP

关键问题是行数100000并不是可以确定的数据啊...

如果之前已经使用了 "sed = a.txt | sed "N;s/\n/|/" |find /v "" >b.txt"添加了行号,

是否能够在生成的 b.txt 文件中取到这个总行数值呢?

TOP

返回列表