找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29026|回复: 3

[文本处理] 【已解决】批处理如何将多个文本的同行数据按同位字符进行组合合并?

[复制链接]
发表于 2016-1-2 15:27:18 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2016-1-2 19:44 编辑

D:\数据1\内有文本
001_1  001_2  001_3  001_4
002_1  002_2  002_3  002_4
...
210_1  210_2  210_3  210_4

每个文本记录的数据格式统一 ,例如 :

001_1 数据格式为 001_2 数据格式为 001_3 数据格式为 001_4 数据格式为  
1446             0258             0013             4779              
4085             6055             7829             1195              
8661             6678             1023             9025              
2430             7532             1188             9529              


现在欲将001_1  001_2  001_3  001_4的数据 先进行竖排 再进行横向合并,举例:

将001_1 数据竖排为 将001_2 数据竖排为 将001_3 数据竖排为 将001_4 数据竖排为   
1                  0                  0                  4                    
4                  2                  0                  7                    
4                  5                  1                  7                    
6                  8                  3                  9                    
4                  6                  7                  1                    
0                  0                  8                  1                    
8                  5                  2                  9                    
5                  5                  9                  5                    
8                  6                  1                  9                    
6                  6                  0                  0                    
6                  7                  2                  2                    
1                  8                  3                  5                    
2                  7                  1                  9                    
4                  5                  1                  5                    
3                  3                  8                  2                    
0                  2                  8                  9                    
再横向合并 写入D:\数据2\001.txt
1004
4207
4517
6839
4671
0081
8529
5595
8619
6600
6722
1835
2719
4515
3382
0289

同理
002_1  002_2  002_3  002_4 数据进行竖排 横向合并 写入D:\数据2\002.txt
003_1  003_2  003_3  003_4 数据进行竖排 横向合并 写入D:\数据2\003.txt
...
210_1  210_2  210_3  210_4 数据进行竖排 横向合并 写入D:\数据2\210.txt

自己留存:

  1. sed -i -r "s/[^ ]/ &/g; s/^ +//" a.txt
  2. sed "s/^ *//; s/ \|$/\n/g" a.txt > b.txt
  3. paste -d "" b.txt a.txt>c.txt
复制代码
发表于 2016-1-2 15:32:21 | 显示全部楼层
楼主这些文本是干什么用的
发表于 2016-1-2 15:35:01 | 显示全部楼层
楼主的逻辑思维总是怎么清晰,但是不知道为啥总是不自己动手写,全是求助。

不管咋滴,顶一个。
发表于 2016-1-3 19:08:09 | 显示全部楼层
本帖最后由 WHY 于 2016-1-3 19:13 编辑

sed会直接修改源文件,请注意备份
  1. @echo off & setlocal enabledelayedexpansion
  2. sed -i -r "s/\S/&\n/g; s/^\s+|\s+$//g; /^$/d" *.txt
  3. for %%i in (1 2 3 4) do set "f=!f! _%%i.txt"
  4. for /l %%i in (1001 1 1210) do (
  5.     set "n=%%i"
  6.     for %%j in (!n:~1!) do paste -d "" !f: = %%j!>D:\数据2\%%j.txt
  7. )
  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 04:35 , Processed in 0.012063 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表