中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用批处理的方法解决这个问题!
作者:
标题: 如何用批处理的方法解决这个问题! 上一主题 | 下一主题
haier168
新手上路





积分 6
发帖 5
注册 2009-1-16
状态 离线
『楼 主』:  如何用批处理的方法解决这个问题!

L2349,2349,2349
R2349,2349,2349
L8846,8846,8846
           8847,8847
R8846,8846,8846
            8847,8847
L9643,9643,9643
           9645,9645
           9646,9646
R9643,9643,9643
            9645,9645
            9646,9646
我现在想整理成这个样子的格式
L2349,2349,2349
R2349,2349,2349
L8846,8846,8846
L8847, 8847,8847
R8846,8846,8846
R8847, 8847,8847
L9643,9643,9643
L9645,9645,9645
L9646,9646,9646
R9643,9643,9643
R9645,9645,9645
R9646,9646,9646
用foxpro 处理比较方便,但如果某一域的资料长于254个,则就十分麻烦。
希望各位达人能用批处理的的方法解决,最好能有 gawk,sed, grep 之类的命令,因为最近我也正在学习这方面的东西,感觉很强大,很神奇。

2010-3-30 11:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  

你的问题没有表述清楚:
1,例如
           8847,8847
前面的是一个制表符还是若干个空格,空格的话,是几个,以下是否与此相同。
2,只说了个简单的整理后的样子,没有明确说明转换的过程和具体要求,即如何转换的



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-3-30 13:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
haier168
新手上路





积分 6
发帖 5
注册 2009-1-16
状态 离线
『第 3 楼』:  

哦,首相感謝你能來幫助我,是我沒表述清楚。
8847,8847
前面是製錶符,其他類似的行都一樣。

要求是,如果上一行的首字母是字母L或R, 則緊鄰的下面幾行如果是製錶符開頭的,就要以 L 或 R開頭,并加上第二域的數字。第二域與第一,第三域是以逗號分隔的。

2010-3-30 13:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 4 楼』:  


@echo off&setlocal enabledelayedexpansion
for /f "tokens=1-3 delims=," %%i in (a.txt) do (set i=%%i
if not "!i:~0,1!"=="        " (set "j=!i:~0,1!"&echo %%i,%%j,%%k)else echo !j!!i:~1!,!i:~1!,%%j)>>b.txt
源文件为a.txt,输出文件为b.txt
if not "!i:~0,1!"=="        "中""之间的是一个制表符号,不是8个空格,切记!

[ Last edited by Hanyeguxing on 2010-3-30 at 13:44 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-3-30 13:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
haier168
新手上路





积分 6
发帖 5
注册 2009-1-16
状态 离线
『第 5 楼』:  

Y sure are SMART!
呵呵,結果完全正確,這正是我要的結果,慢慢學習!謝謝

暫不結貼,等等看還有沒有用 gawk, sed, grep 這類第三方命令行工具的,我也十分想知道。

[ Last edited by haier168 on 2010-3-30 at 14:27 ]

2010-3-30 14:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: