Board logo

标题: DOS需求:替换、压缩 命令一体化。。。 [打印本页]

作者: 98800     时间: 2008-8-6 12:52    标题: DOS需求:替换、压缩 命令一体化。。。
"2007/12","200711090401009","20080109000135","100010040","6",+000000000000050000.000000,+000000000000050000.000000,+000000000000000000.000000,+000000000000000000.000000,+000000000000000000.000000,+000000000000000000.000000 ------------------------------------------------------------------------------------------------------ 上面这些数据是从DB2数据库里面导出来的,里面有引号、逗号、以及空格,我现在需要对这些引号、逗号、以及空格 替换成 | .... 有朋友,有方法吗? 然后对这些.txt文件进行压缩。。。。。 谢谢!!!

作者: huahua0919     时间: 2008-8-6 13:02
@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 ]

作者: 98800     时间: 2008-8-6 13:07
替换了,但是只是显示在DOS屏幕上,我想直接替换到cc.txt里面去? 如何写呢?

作者: huahua0919     时间: 2008-8-6 13:07
这个我就不知道了

作者: slore     时间: 2008-8-6 13:23
@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

作者: huahua0919     时间: 2008-8-6 13:27
编辑过了。你再尝试,这是最基本的,你还问啊

作者: HAT     时间: 2008-8-6 13:29
@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

作者: 98800     时间: 2008-8-6 13:38
"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、第一个引号不替换,但最后一个引号要替换。。。。。 谢谢 !!!!!!!!!!!!!!!!!!

作者: lxmxn     时间: 2008-8-6 22:51
@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.
)

作者: pusofalse     时间: 2008-8-6 23:24
版主高明。。

作者: HAT     时间: 2008-8-7 01:36
sed "s/[^0-9]/\|/g" a.txt | sed "s/.//1" | tr -s "|"
sed.exe tr.exe http://unxutils.sourceforge.net/