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

[文本处理] [已解决]批处理怎样删除文本中的指定行?

本帖最后由 fanfande 于 2011-8-30 00:51 编辑

一个txt文件里面,想把一些删除掉
举例如下:需要删除的是第2行,他的规律是   一个字符,一个字符,1
也就是将这个txt里面假如哪一行是符合   一个字符,一个字符,1
就把这行清除掉!


哒哒哒,大大的,1
哒,大,1
哒哒,大大,1
哒哒哒哒哒,大大大大大大,1


求解~
另外、:我出差好几个月了,我控制面板里面的我的问题怎么都没有了呢?
有创新,多创新;无创新,多模仿;无模仿,多坚持

sed "/1$/d" a.txt>>result.txt
删除以数字1结尾的行

TOP

  1. @echo off
  2. (for /f "delims=" %%a in (a.txt) do (
  3. set "a=%%a"
  4. setlocal enabledelayedexpansion
  5. if "!a:~1,1!!a:~3,1!!a:~4,1!"==",,1" if "!a:~5!"=="" set b==
  6. if not defined b echo !a!
  7. Endlocal
  8. ))>a_.txt
  9. move a_.txt a.txt
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

如果你的“一个字符”都是中文:
  1. sed "/..,..,1$/d" 1.txt | more >2.txt
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. :1
  3. for /f "tokens=1-3 delims=," %%i in (a.txt) do call :2 %%i %%j
  4. pause
  5. :2
  6. set a=%1
  7. set b=%2
  8. set c=%a:~1,1%%b:~1,1%
  9. if not "%c%"=="" echo %a%,%b%,1>>2.txt
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

返回列表