中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » DOS需求:替换、压缩 命令一体化。。。
作者:
标题: DOS需求:替换、压缩 命令一体化。。。 上一主题 | 下一主题
98800
初级用户




积分 20
发帖 7
注册 2008-2-27
状态 离线
『楼 主』:  DOS需求:替换、压缩 命令一体化。。。

"2007/12","200711090401009","20080109000135","100010040","6",+000000000000050000.000000,+000000000000050000.000000,+000000000000000000.000000,+000000000000000000.000000,+000000000000000000.000000,+000000000000000000.000000

------------------------------------------------------------------------------------------------------
上面这些数据是从DB2数据库里面导出来的,里面有引号、逗号、以及空格,我现在需要对这些引号、逗号、以及空格 替换成 | .... 有朋友,有方法吗?

然后对这些.txt文件进行压缩。。。。。

谢谢!!!

2008-8-6 12:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  


@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (cc.txt) do (
set a=%%i
set a=!a:"=|!
set a=!a:,=^|!
set a=!a: =^|!
echo !a!>cc.txt
)
pause
[ Last edited by huahua0919 on 2008-8-6 at 01:26 PM ]

2008-8-6 13:02
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
98800
初级用户




积分 20
发帖 7
注册 2008-2-27
状态 离线
『第 3 楼』:  

替换了,但是只是显示在DOS屏幕上,我想直接替换到cc.txt里面去?

如何写呢?

2008-8-6 13:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 4 楼』:  

这个我就不知道了

2008-8-6 13:07
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  


@echo off&setlocal enabledelayedexpansion
(for /f "delims=" %%i in (cc.txt) do (
set a=%%i
set a=!a:"=|!
set a=!a:,=^|!
set a=!a: =^|!
echo !a!
))>ss.txt
del cc.txt
ren ss.txt cc.txt
pause




S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-8-6 13:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 6 楼』:  

编辑过了。你再尝试,这是最基本的,你还问啊

2008-8-6 13:27
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  


@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
  set a=%%i
  set a=!a:"=|!
  set a=!a:,=^|!
  set a=!a: =^|!
  >b.txt echo !a!
)
move /y b.txt a.txt




2008-8-6 13:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
98800
初级用户




积分 20
发帖 7
注册 2008-2-27
状态 离线
『第 8 楼』:  

"701600125101000000000001        ","01600101251010000000000017      ","01 ","1","0","0"
"0160010000000043                ","01600101211010000000000025      ","01 ","1","0","0"
"0180020000000013                ","0180020121101000018002010000000 ","01 ","1","0","0"


----------------------------------------------------------------------------------------------
替换成:
701600125101000000000001|01600101251010000000000017|01|1|0|0|
0160010000000043|01600101211010000000000025|01|1|0|0|
0180020000000013|0180020121101000018002010000000|01|1|0|0|

条件是:
1、"," 替换成 |
2、第一个引号不替换,但最后一个引号要替换。。。。。

谢谢 !!!!!!!!!!!!!!!!!!

2008-8-6 13:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 9 楼』:  


@echo off & setlocal

for /f "delims==" %%i in (your_file.txt) do (
        for %%k in (%%i) do for %%c in (%%~k) do set/p a=%%c^|<nul
        echo.
)


2008-8-6 22:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 10 楼』:  

版主高明。。



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-8-6 23:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  


sed "s/[^0-9]/\|/g" a.txt | sed "s/.//1" | tr -s "|"
sed.exe
tr.exe
http://unxutils.sourceforge.net/



2008-8-7 01:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: