标题: [文本处理] 批处理怎样将一行数字变为多行数字? [打印本页]
作者: solid 时间: 2010-8-5 23:02 标题: 批处理怎样将一行数字变为多行数字?
a.txt文本中的数字如下排列:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...
我现在想把数字作分行排列
0
1
2
3
4
...
我的想法是把一个个数字作比较,碰到空格就输出前面的数字。但是总是输出ECHO处于关闭状态,什么原因呢?代码:- @echo off &setlocal EnableDelayedExpansion
- for /f "tokens=* delims=" %%a in ( a.txt ) do set b=%%a
- set d=1
- :abb
- if "%b%"=="" exit
- set "c=!b:~0,1!"
- if not "!c!" == " " set "d=!d!!c!" && set "b=!b:~1!" && goto abb
-
- set "d=%d:~1%"
- echo %d% >>ccc.txt
- set d=1
- goto abb
复制代码
作者: 随风 时间: 2010-8-5 23:08
- @echo off
- for /f "delims=" %%i in (a.txt) do (
- for %%j in (%%i) do echo %%j
- )
- pause
复制代码
作者: solid 时间: 2010-8-5 23:17
额,老大的代码才一句,学习。
作者: cjiabing 时间: 2010-8-5 23:44
- @echo off
- set /p var=<123.txt
- for %%a in (%var%) do echo %%a
- pause
复制代码
作者: solid 时间: 2010-8-6 09:35
原帖由 cjiabing 于 2010-8-5 23:44 发表
@echo off
set /p var=
你这代码好神奇,不过有个限制。似乎只能支持总共1024个字符,超过的就无能为力了。
作者: cjiabing 时间: 2010-8-6 11:50
原帖由 solid 于 2010-8-6 09:35 发表
你这代码好神奇,不过有个限制。似乎只能支持总共1024个字符,超过的就无能为力了。
哦,忘记了,呵呵,要求不高的话还是可以用滴!~
作者: CUer 时间: 2010-8-6 12:59
- tr " " "\n" < 1.txt | more >2.txt
复制代码
作者: CUer 时间: 2010-8-6 13:00
- sed "s/ /\n/g" 1.txt >2.txt
复制代码
- gawk "gsub(/ /,\"\n\")" 1.txt >2.txt
复制代码
作者: ZJHJ 时间: 2010-8-10 21:47
以空格分行。
cd.>temp.txt
for /f "delims=" %%i in (%file%) do (
for %%a in (%%i) do echo %%a>>temp.txt
)
作者: CUer 时间: 2010-8-10 22:07
复制代码
- perl -pe "s/ /\n/g" 1.txt >2.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |