Board logo

标题: [文本处理] 批处理怎样去除文本中的反斜线? [打印本页]

作者: linux1056    时间: 2010-6-18 15:54     标题: 批处理怎样去除文本中的反斜线?

假如文本中有如下所示:
\\192.168.7.1 aaaa
\\192.168.7.2 bbb
\\192.168.7.3 ccc
\\192.168.7.4 dddd
\\192.168.7.5 eeeeeee
\\192.168.7.6    ddsadsd
..
..
而我想提取成
192.168.7.1
192.168.7.2
192.168.7.3
192.168.7.4
192.168.7.5
192.168.7.6
取一个能实现的批处理。

[ 本帖最后由 linux1056 于 2010-6-18 16:07 编辑 ]
作者: gxuan2008    时间: 2010-6-18 16:43

源数据在1.txt中。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=\ " %%a in (11.txt) do (
  4. echo %%a>>a.txt  
  5. )
  6. del 1.txt
  7. ren a.txt 1.txt
  8. endlocal
  9. pause
复制代码

[ 本帖最后由 gxuan2008 于 2010-6-18 16:50 编辑 ]
作者: alashendeng    时间: 2010-6-18 16:55     标题: 回复 1楼 的帖子

假如你的文本是11.txt
@echo off
for /f "tokens=1,2 delims=\" %%i in (11.txt) do (
echo %%i %%j >>new.txt
)
pause
作者: CUer    时间: 2010-6-18 17:52

  1. gawk "{print substr($1,3)}" 1.txt >2.txt
复制代码

作者: hanyeguxing    时间: 2010-6-18 18:26

  1. @echo off
  2. (for /f "delims=\ " %%a in (1.txt) do echo.%%a)>2.txt
复制代码

作者: Batcher    时间: 2010-6-18 20:54     标题: 回复 5楼 的帖子

echo.的效率不够好,参考:
http://bbs.bathome.net/viewthread.php?tid=4482#pid28940
作者: linux1056    时间: 2010-6-21 11:19

@echo off
for /f "delims=\ " %%a in (11.txt) do (
echo %%a>>a.txt  
)
作者: linux1056    时间: 2010-6-21 11:20     标题: 回复 5楼 的帖子

你这个很简洁,谢谢!
作者: linux1056    时间: 2010-6-21 11:21     标题: 回复 3楼 的帖子

你的批处理效果是

192.168.7.1 aaaa  
192.168.7.2 bbb  
192.168.7.3 ccc  
192.168.7.4 dddd  
192.168.7.5 eeeeeee  
192.168.7.6    ddsadsd




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