找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23839|回复: 5

[文本处理] 批处理如何删除文本指定范围内内容?

[复制链接]
发表于 2012-8-6 14:48:15 | 显示全部楼层 |阅读模式
我的文本里有以下句子

woshinvsheng\admin111\1cf4a1\master
woshinansheng\root\2c5asc\administrator
woaibathome\netuser\password
wwwbathome\wewwe\9c9asd\moter


重点是\1cf4a1\ 这个随机字符,我想把他删掉


但有些内容里并没有这个随机字符,所以代码的意思可以这么写:


如果\*****\之间内容是6位数,就将他删除


期望结果是



woshinvsheng\admin111\master
woshinansheng\root\administrator
woaibathome\netuser\password
wwwbathome\wewwe\moter







文件有300多MB,不知道批处理可否实现
发表于 2012-8-7 08:26:12 | 显示全部楼层
sed:http://www.bathome.net/thread-16975-1-1.html
  1. sed -i "s/\\......\\/\\/g" a.txt
复制代码
发表于 2012-8-7 09:52:55 | 显示全部楼层
  1. @echo off

  2. setlocal enabledelayedexpansion

  3. for /f "tokens=1-4 delims=" %%i in (c:\1.txt) do (

  4. if not "%%l" == "" (
  5. echo %%i\%%j\%%l>>c:\2.txt
  6. ) else (
  7. echo %%i\%%j\%%k>>c:\2.txt
  8. )

  9. )

  10. pause
复制代码
小弟只会这样写,1.txt是你的那组文本内容,2.txt是处理之后的。小弟不会直接替换,请大神门赐教。
发表于 2012-8-7 10:31:03 | 显示全部楼层
回复 3# yypz123


300多M的文件这样处理估计巨慢
 楼主| 发表于 2012-8-7 10:39:26 | 显示全部楼层
回复 2# apang


    为什么没有执行呢
发表于 2012-8-7 10:40:53 | 显示全部楼层
回复 5# Rasm


    你有sed.exe吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 10:01 , Processed in 0.019027 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表