标题: 超长行文本如何使用替换
[打印本页]
作者: bd123456789
时间: 2007-7-6 10:22
标题: 超长行文本如何使用替换
我有一个文本文件,在附件中
其中一行是超长文本
我编写了如下代码:
目的想将文本中的所有空格替换成*号
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (123.txt) do (
set var=%%i
set "var=!var: =*!"
echo !var!>>456.txt
)
我在其它一些小的文本中,能够顺利通过
但123文本中发现,原文件大小120多KB
导出的文本却只有15KB?
说明有部分文本没有被读取,或者说被丢掉??有什么好的解决办法吗?
附件
1:
123.rar (2007-7-6 10:22, 22.79 K,下载次数: 8)
作者: lxmxn
时间: 2007-7-6 11:22
sed "s/ /*/g" yourfile.ext
作者: bd123456789
时间: 2007-7-6 17:31
不知道是什么原因造成的
你的回答也是一种解决办法,但我想要在CMD下实现
另外,真没有其它办法了吗???
作者: lxmxn
时间: 2007-7-7 15:58
用cmd自带的命令解决很困难,因为cmd对命令行的长度有限制,一般是2048个字符(如果没记错的话),所以你的文本超过了这个数目就会不处理或者出错。
另外,为何不用sed或者awk呢?
作者: bd123456789
时间: 2007-7-8 11:47
Quote: |
Originally posted by lxmxn at 2007-7-7 03:58 PM:
用cmd自带的命令解决很困难,因为cmd对命令行的长度有限制,一般是2048个字符(如果没记错的话),所以你的文本超过了这个数目就会不处理或者出错。
另外,为何不用sed或者awk呢? |
|
多谢多谢
我测试了一下
当文件大小在10K左历,能够正常替换,说明CMD对命令行长度限制不是2048,而是在10000多个字节!!
不知道为什么微软对此不作介绍,或者说明
呵呵