[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

我的文本里有以下句子

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,不知道批处理可否实现

sed:http://www.bathome.net/thread-16975-1-1.html
  1. sed -i "s/\\......\\/\\/g" a.txt
复制代码

TOP

  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是处理之后的。小弟不会直接替换,请大神门赐教。

TOP

回复 3# yypz123


300多M的文件这样处理估计巨慢

TOP

回复 2# apang


    为什么没有执行呢

TOP

回复 5# Rasm


    你有sed.exe吗?

TOP

返回列表