标题: 求助:数据分割、删除的问题(含特殊符号)!
[打印本页]
作者: lsh1611
时间: 2007-11-5 14:42
标题: 求助:数据分割、删除的问题(含特殊符号)!
现有如下数据:
list.txt
017729FDC48E84C6F1F35E6584BBB85D(my_70084) Tent.ecn
04B8D58A63F686C234995B4F39E465C1(9e) TrneGames.eop
0BEA7BD894B170A92B85142E6DC7F929(dodolook4.exe)/stream/data0002/data0003 nare.nmus.aiu
0BEA7BD894B170A92B85142E6DC7F929(dodolook412.exe)/stream/data0002/data0004 n2.Cinmus.aiu
0D091E5DE004F734E95AE154F7F2F438(djatl.dll)/UPack TrneGames.eoc
0E16E6D69595DE409B1A5197149202A9(kvmxfma.dll) TeGames.fhm
0FC934A02DFD35AE51157C1B29225D70(15[1].exe)/PE_Patch/UPack TineGames.dxp
10F30005C92F91AD3225573D0AFA31A8(qiji[1].exe)/PE_Patch/UPack TLineGames.ekb
用空格分为两列,但第一列中,()后面会包含/xxx/xxx/xxx 的无用字符,而且/的数量不固定。
想将/xxxx/xxx/xxx去除,不知for能否搞定(用for取头、尾列,但不知如何写)。也想使用sed,但“/”是sed的专用参数分隔符,还没找到解决方法(bat和sed都是初级),在此求助!
作者: abcd
时间: 2007-11-5 14:59
@echo off
sed "/\// s#/[^/ ]*##g" list.txt
pause
作者: abcd
时间: 2007-11-5 15:15
@echo off
for /f "tokens=1* delims=/" %%i in (list.txt) do (
if not "%%j"=="" (
set str=%%j
call echo %%i %%str:* =%%
) else (
echo %%i
)
)
pause
作者: lsh1611
时间: 2007-11-5 15:57
多谢abcd了,帮助若干次了!两种代码都可以,但bat的可能有问题,没有全部执行完成,我再找找问题。
作者: abcd
时间: 2007-11-5 16:00
我是用楼主给的那八行字符串测试的
那八行是没问题的,其它的就不知道了