Board logo

标题: [文本处理] [已解决]批处理怎样删除文本中的指定行? [打印本页]

作者: fanfande    时间: 2011-1-12 22:20     标题: [已解决]批处理怎样删除文本中的指定行?

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

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


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


求解~
另外、:我出差好几个月了,我控制面板里面的我的问题怎么都没有了呢?
作者: sxw    时间: 2011-1-12 22:54

sed "/1$/d" a.txt>>result.txt
删除以数字1结尾的行
作者: hanyeguxing    时间: 2011-1-12 22:57

  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
复制代码

作者: Batcher    时间: 2011-1-13 00:34

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

作者: wc726842270    时间: 2011-1-13 01:39

  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
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2