标题: [文本处理] [已解决]BAT批处理怎样合并多个单列txt到一个txt? [打印本页]
作者: gottjie 时间: 2013-12-31 21:34 标题: [已解决]BAT批处理怎样合并多个单列txt到一个txt?
本帖最后由 gottjie 于 2014-1-5 09:08 编辑
比如
1.txt里
1
2
3
2.txt里
4
5
6
3.txt里
7
8
9
合并文件为
1 4 7
2 5 8
3 6 9
就这样每个文件都是一列 最后合并完 这些列都到一个文件里面了
多谢了!!!
作者: DAIC 时间: 2014-1-1 11:31
- paste -d " " 1.txt 2.txt 3.txt > 4.txt
复制代码
作者: gottjie 时间: 2014-1-1 12:02
DAIC 发表于 2014-1-1 11:31
哥们 如果是多个文件该怎么办啊?
多谢了!!!
作者: DAIC 时间: 2014-1-1 13:11
回复 3# gottjie
多少个?
作者: gottjie 时间: 2014-1-1 13:41
回复 4# DAIC
330个
作者: DAIC 时间: 2014-1-1 13:52
回复 5# gottjie
最终结果会有330列,是这个意思么?
作者: gottjie 时间: 2014-1-1 13:55
回复 6# DAIC
是的 这些文件都只有一列 330个文件共330列 放在一个文件里 就是这个意思
作者: caruko 时间: 2014-1-1 14:36
- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- ::设置最大行数1000,可自己修改
- set max=100
- set /a max+=10000
- ::设置分隔符,默认"," 可自己修改
- set "fg=,"
- for %%a in (*.txt) do (
- (for /l %%b in (10000 1 %max%) do set /p #%%b=) <"%%~a"
- for /l %%b in (10000 1 %max%) do set "@%%b=!@%%b!%fg%!#%%b!"
- )
- ::默认输出CSV格式,用EXCEL打开,也可记事本打开
- (for /f "tokens=1* delims==" %%a in ('set @') do echo,%%b) > all.csv
复制代码
作者: gottjie 时间: 2014-1-1 14:44
回复 8# caruko
多谢了哥们 我再问下如果我有几百个文件 每个文件有大概十万行 该怎么改
set max=10000
这样行么
作者: caruko 时间: 2014-1-1 14:50
十万行? 好像超出批处理的变量数上限了,而且处理时间超长~~
建议用2个文本先试试。
只要这一句改一下,从100000起,把max 设为100000+文本最大行
假设文本最大行为15w行,即是从 100000开始,每次加1,循环到100000+150000
改动如下:
for /l %%b in (100000 1 250000) do ....
作者: caruko 时间: 2014-1-1 14:51
十万行? 好像超出批处理的变量数上限了,而且处理时间超长~~
建议用2个文本先试试。
只要这一句改一下,从100000起,把max 设为100000+文本最大行
假设文本最大行为15w行,即是从 100000开始,每次加1,循环到100000+150000
改动如下:
for /l %%b in (100000 1 250000) do ....
作者: gottjie 时间: 2014-1-1 15:00
回复 11# caruko
多余10000万行 就不行了 果断用excel编辑了 多谢大神指点 这段命令处理较少行数还是很犀利的!!!学习了
作者: caruko 时间: 2014-1-1 15:57
十万行? 好像超出批处理的变量数上限了,而且处理时间超长~~
建议用2个文本先试试。
只要这一句改一下,从100000起,把max 设为100000+文本最大行
假设文本最大行为15w行,即是从 100000开始,每次加1,循环到100000+150000
改动如下:
for /l %%b in (100000 1 250000) do ....
作者: DAIC 时间: 2014-1-1 17:33
回复 7# gottjie - @echo off
- type nul >merge.dat
- for %%i in (*.txt) do (
- paste -d " " merge.dat "%%i" >merge.tmp
- type merge.tmp >merge.dat
- )
复制代码
作者: gottjie 时间: 2014-1-1 21:50
回复 gottjie
DAIC 发表于 2014-1-1 17:33
多谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |