标题: [文本处理] [已解决]按列换行输出的批处理文件有何错误? [打印本页]
作者: wwwjjjxxx 时间: 2011-12-29 18:19 标题: [已解决]按列换行输出的批处理文件有何错误?
本帖最后由 wwwjjjxxx 于 2011-12-31 22:07 编辑
本人想将一个TXT文本的内容转换一下,原文件格式如下:
11223344#2345#abcdef
34567#qwert#sdfreygfjh
.....................
共有几百万行转换成如下格式:
11223344
2345
abcdef
34567
qwert
sdfreygfjh
批处理代码如下:- @echo off>b.txt
- for /f "delims=" %%i in (a.txt)do set h=%%i&call :x
- start notepad b.txt&exit
- :x
- set h=%h:#=;%
- call :y %h%
- :y
- if "%~1"=="" goto :eof
- echo.%~1>>b.txt
- shift&goto y
复制代码
不知为何只执行很少一部分就出错终止,显示为"‘n’不是内部和外部命令..."等提示,请各位老大帮忙看一下那里出问题了。先谢谢了!
作者: awk 时间: 2011-12-29 19:25
- sed "s/#/\n/g" a.txt >b.txt
复制代码
作者: wwwjjjxxx 时间: 2011-12-30 00:29
回复 2# awk
还是不行啊,能给一个完整的吗?
作者: awk 时间: 2011-12-30 08:53
回复 3# wwwjjjxxx
已经很完整了
有什么报错信息吗?
作者: wwwjjjxxx 时间: 2011-12-30 10:45
回复 4# awk
只是建立b文本文件并打开,其他没任何操作
作者: awk 时间: 2011-12-30 10:51
回复 5# wwwjjjxxx
正常来说,这句代码是不会打开b.txt的。
你的sed版本是什么?
你的a.txt是什么编码格式?
你是怎样运行这句代码的?
作者: wwwjjjxxx 时间: 2011-12-30 11:07
回复 6# awk
大哥见笑了,我对这方面不太懂,我只是想在WIN7环境下以批处理的形式运行,不知能解决不
作者: wwwjjjxxx 时间: 2011-12-30 11:11
回复 6# awk
文件编码是ANSI
作者: awk 时间: 2011-12-30 11:21
- @echo off
- setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- set str=!str:#=^
-
- !
- echo,!str!
- ))>b.txt
复制代码
作者: wwwjjjxxx 时间: 2011-12-30 11:34
回复 9# awk - @echo off
-
- setlocal enabledelayedexpansion
-
- (for /f "delims=" %%a in (a.txt) do (
-
- set "str=%%a"
-
- set str=!str:#=^!
-
- echo,!str!
- ))>b.txt
复制代码
这样结果只是去掉了“#”并未换行
作者: awk 时间: 2011-12-30 12:17
回复 10# wwwjjjxxx
如果你还没看懂9楼的代码,请不要乱修改,直接点击“复制代码”就行了。
作者: wwwjjjxxx 时间: 2011-12-30 12:31
回复 11# awk
如果原封不动执行会产生如下结果
str:#=
str:#=
..........
作者: awk 时间: 2011-12-30 14:30
回复 12# wwwjjjxxx
我上传一个现成的,你试试。
作者: wwwjjjxxx 时间: 2011-12-30 14:46
回复 13# awk
只是去掉了#未换行
内有一测试文件,您可以试一下
作者: awk 时间: 2011-12-30 15:56
试试这个:- @echo off
- setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- set str=!str:#=^
-
- !
- echo,!str!
- ))>b_tmp.txt
- more b_tmp.txt >b.txt
复制代码
作者: wwwjjjxxx 时间: 2011-12-30 16:55
回复 15# awk
临时文件b_tmp.txt生成正常,目标文件b.txt只生成972k就结束了,还有能把每行前面的空格去掉吗
作者: wwwjjjxxx 时间: 2011-12-31 10:17
回复 15# awk
问题无法解决吗?
作者: wwwjjjxxx 时间: 2011-12-31 11:33
回复 15# awk
这个问题算是解决了!多谢awk 老师!!其实是我不会用,只要不停按任意键换页就可以了!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |