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

[文本处理] [已解决]BAT文本处理怎样同时删除多行?

本帖最后由 claudia 于 2013-5-6 17:15 编辑

例如  文本为:
11111111111111111
22222222222222222
33333333333333333
44444444444444444
……………………………………
然后我要同时删除  第1行  第5行 第7行 第8行 第10行 第112行 第121行 第333行

删完之后生成一个新的文件。    请问如何做呢??
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 tmplinshi 于 2013-4-26 10:12 编辑
  1. sed "1d;5d;7d;8d;10d;112d;121d;333d" a.txt >b.txt
复制代码

TOP

  1. @echo off
  2. (for /f "delims=" %%a in (a.txt) do (
  3.    set /a "n+=1,1/(n-1),1/(n-5),1/(n-7),1/(n-8),1/(n-10),1/(n-112),1/(n-121),1/(n-131)" 2>nul&&echo %%a
  4. ))>b.txt
  5. pause
复制代码

TOP

  1. @echo off
  2. set "str=1 5 7 8 10 112 121 333 "
  3. set "str=findstr /n . a.txt ^| findstr /bv "%str: =: %""
  4. (for /f "tokens=1* delims=:" %%a in ('%str%') do echo %%b)>@atob.txt
  5. pause
复制代码

TOP

本帖最后由 claudia 于 2013-4-26 13:42 编辑

回复 2# tmplinshi


  非常感谢。。 再问一句,   如果我同时还需要把删除的这几行文字存到另一个文件中呢??  我的文件很大。 很大。   至少几十MB的

TOP

  1. sed -n "1p;5p;7p;8p;10p;112p;121p;333p" a.txt >c.txt
复制代码
第三方没研究,套用2楼的

TOP

回复 6# xxpinqz


    非常感谢。。 再问一句,   如果我同时还需要把删除的这几行文字存到另一个文件中呢??  我的文件很大。 很大。   至少几十MB的

TOP

  1. sed -n "1p;5p;7p;8p;10p;112p;121p;333p" a.txt >>c.txt
复制代码
哦,刚没看清意思。
追加到C.TXT尾部。

TOP

回复 8# xxpinqz


    同时在源文件中剔除   能能不能一句搞定的??  因为文件较大,所以处理两次比较慢

TOP

回复 9# claudia


    这是版规,你好自为之。。。
1、求助时,务必在顶楼一次性把问题交代清楚,建议给出有针对性的样本。标题或顶楼内容模糊(未说明代码功能或问题所在)的帖子一律关闭。
2、请使用 code 标记把代码部分括起来(选中代码后,单击回复框的 <> 按钮),以便复制。问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
1

评分人数

    • claudia: 非常感谢。已经重新发帖了。 抱歉技术 + 1

TOP

返回列表