标题: [文本处理] 【已解决】批处理如何将多个文本的同行数据按同位字符进行组合合并? [打印本页]
作者: 思想之翼 时间: 2016-1-2 15:27 标题: 【已解决】批处理如何将多个文本的同行数据按同位字符进行组合合并?
本帖最后由 思想之翼 于 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
自己留存:- sed -i -r "s/[^ ]/ &/g; s/^ +//" a.txt
- sed "s/^ *//; s/ \|$/\n/g" a.txt > b.txt
- paste -d "" b.txt a.txt>c.txt
复制代码
作者: aa77dd@163.com 时间: 2016-1-2 15:32
楼主这些文本是干什么用的
作者: 回家路上 时间: 2016-1-2 15:35
楼主的逻辑思维总是怎么清晰,但是不知道为啥总是不自己动手写,全是求助。
不管咋滴,顶一个。
作者: WHY 时间: 2016-1-3 19:08
本帖最后由 WHY 于 2016-1-3 19:13 编辑
sed会直接修改源文件,请注意备份- @echo off & setlocal enabledelayedexpansion
- sed -i -r "s/\S/&\n/g; s/^\s+|\s+$//g; /^$/d" *.txt
- for %%i in (1 2 3 4) do set "f=!f! _%%i.txt"
- for /l %%i in (1001 1 1210) do (
- set "n=%%i"
- for %%j in (!n:~1!) do paste -d "" !f: = %%j!>D:\数据2\%%j.txt
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |