Board logo

标题: [文本处理] 批处理如何删除文本中多个指定的字符串? [打印本页]

作者: Rasm    时间: 2016-3-7 11:36     标题: 批处理如何删除文本中多个指定的字符串?

拉杆箱女 22寸 铝框
拉杆箱皮箱男 26寸
拉杆箱万向轮 20寸
拉杆箱万向轮22寸女
旅行箱万向轮铝框
铝框26寸 万向轮行李箱
铝框拉杆箱22寸 万向轮
铝框拉杆箱万向轮26寸
密码箱 行李箱 男士
密码箱 行李箱 皮箱女
密码箱 男 行李箱 26寸
女行李箱万向轮


批量删除文本中设置的固定的词,原文本每行的内容其他内容不变,输出到另一个文本

以下是要设置要删除的词

行李箱
万向轮
26寸
皮箱

拉杆箱
作者: codegay    时间: 2016-3-7 12:49

注册了五年连这种问题都解决不了。
作者: gawk    时间: 2016-3-7 13:55

  1. @echo off
  2. type "原文件.txt" > "新文件.txt"
  3. for /f "delims=" %%i in ('type "删除的词.txt"') do (
  4.     sed -i "s/%%i//g" "新文件.txt"
  5. )
复制代码

作者: Rasm    时间: 2016-3-8 10:06

回复 3# gawk


    经过测试,指定的文字并未删除,和源文件一样又重新输出到新文件里了
作者: happy886rr    时间: 2016-3-8 14:33

回复 4# Rasm
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in (原文件.txt) do (
  4. if "%%a"=="" (echo.) else (
  5. set str=%%a
  6. set str=!str:24=!
  7. set str=!str:20=!
  8. set str=!str:zeal=!
  9. set str=!str:个性=!
  10. set str=!str:箱子=!
  11. set str=!str:箱包=!
  12. set str=!str:皮箱=!
  13. set str=!str:复古=!
  14. set str=!str:旅行箱=!
  15. set str=!str:万向轮=!
  16. set str=!str:行李箱=!
  17. set str=!str:拉杆箱=!
  18. echo.!str!)
  19. ))>b.txt
复制代码





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