Board logo

标题: [文本处理] 批处理把行中的某字符/删除并换行 [打印本页]

作者: laboo    时间: 2012-3-9 15:01     标题: 批处理把行中的某字符/删除并换行

把文本行中的/删除并换行,谢谢
文本如下:
Jeanswest/真维斯
Guuka/古由卡
Yibajiusan
衣品天成
Antszone/蚁族
DEERE MARCHI
VIISHOW
Levi's/李维斯

处理完如下:
Jeanswest
真维斯
Guuka
古由卡
Yibajiusan
衣品天成
Antszone
蚁族
DEERE MARCHI
VIISHOW
Levi's
李维斯
作者: apang    时间: 2012-3-9 15:45

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (test.txt) do (
  4.    set str=%%a
  5.    set str=!str:/=^
  6. !
  7.    echo !str!
  8. )
  9. pause
复制代码

作者: laboo    时间: 2012-3-9 17:05

2楼兄弟,测试了没变化
作者: apang    时间: 2012-3-9 18:06

回复 3# laboo


    要保存为新文件,可以这样试试:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in (test.txt) do (
  4.    set str=%%a
  5.    set str=!str:/=^
  6. !&echo !str!
  7. ))>$
  8. more $>New.txt&del $
  9. echo 已保存为New.txt&pause
复制代码

作者: terse    时间: 2012-3-9 18:26

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=-" %%i in (a.txt) do (
  3.     set str=%%i
  4.     for %%j in ("!str:/=" "!") do echo %%~j
  5. )
  6. pause
复制代码

作者: find    时间: 2012-3-9 18:54

  1. sed "s#/#\n#" a.txt >b.txt
复制代码

作者: apang    时间: 2012-3-9 18:57

  1. @echo off
  2. (for /f "tokens=1,2 delims=/" %%a in (test.txt) do (
  3.     echo %%a
  4.     if not "%%b"=="" echo %%b
  5. ))>New.txt
  6. echo 已保存为New.txt
  7. pause
复制代码





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