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

[文本处理] 【已解决】批处理BAT如何删除含特定中文的行?

本帖最后由 elec 于 2014-7-7 23:37 编辑

例如一个大文本
  1. asdsa  中文asd  1565  da   45
  2. daas    a方     9656  sf   爱上
  3. asdsa  中文asd  1565  da   45
  4. daas    地撒旦     9656  sf   7
  5. ....
复制代码
怎么样删除所有含有  中文  这两个字的行??  希望效率高些。。

  1. sed "/中文/d" 1.txt>2.txt
复制代码

TOP

回复 2# apang


    谢谢~原来是编码问题。
    我用的也是这行代码。但是对于UTF-8的文本不起作用,文档另存为ANSI编码就正常了哈。

TOP

回复 2# apang


       还想问下关于sed的用法。如果sed在用于删除包含多个字符时,怎么写?
       例如删除包含 aa 或者 bb 或者 cc 或者 dd 的所在行?可以和成一条命令写吗,还是要用4条sed?

TOP

回复 4# elec
  1. sed -r "/中文|aa|bb|cc/d" 1.txt>2.txt
复制代码

TOP

文本多大?
  1. findstr /iv "中文 aa bb cc" a.txt >b.txt
复制代码

TOP

回复 6# terse


    处理中文可能要加 /r

TOP

回复 7# CrLf
谢谢提醒  这里貌似加了/i  是否等同 /r 还真没详细测试

TOP

返回列表