Board logo

标题: [文本处理] 批处理如何去除TXT文本中的日期和IP [打印本页]

作者: 3887676    时间: 2009-7-21 20:32     标题: 批处理如何去除TXT文本中的日期和IP

我们论坛的用户账户,老板叫我整理,可是我不懂写BAT..谁帮帮我啊....谢谢大家了
是存在txt文本的

sweet_leungly/swt2009
[2009-7-15](113.96.12.130)
  
               

lin1437/081100hyc
[2009-7-15](125.77.112.113)

巴巴拉兔/wujin6387
[2009-7-15](210.192.101.234)
  
               

紫冰飞雪雪/03355
[2009-7-15](222.87.60.223)
  
               

沙漠里的鬼鬼/love*36-165
[2009-7-15](222.216.2.34)
  
               

yaoyaolove0707/191127074x
[2009-7-15](114.83.5.101)



需要存成这样的效果
sweet_leungly/sweet2009
lin1437/08111800hyc
巴巴拉兔/wujing956387
紫冰飞雪雪/003355            
沙漠里的鬼鬼/love*136-165
yaoyaolove0707/19891127074x
作者: Lumiere    时间: 2009-7-21 20:50

  1. @echo off
  2. for /f "eol=[ delims=" %%a in (a.txt) do echo %%a>>b.txt
  3. pause>nul
复制代码

作者: namejm    时间: 2009-7-21 20:53

  1. @echo off
  2. findstr /bv "[" test.txt>result.txt
  3. start result.txt
复制代码

作者: lxzzr    时间: 2009-7-21 21:01

  1. find /v "[" a.txt
复制代码

作者: 3887676    时间: 2009-7-21 21:01

3楼的代码可以去日期和IP         但是没有存成我要的效果  
sweet_leungly/swt209

               

lin1437/0811hyc


巴巴拉兔/wu387

               

紫冰飞雪雪/0335

  
               

沙漠里的鬼鬼/love*36165

  
               

yaoyaolove0707/191127074x
作者: 3887676    时间: 2009-7-21 21:03

需要让他们紧凑保存   没有间隔

需要存成这样的效果
sweet_leungly/sweet2009
lin1437/08111800hyc
巴巴拉兔/wujing956387
紫冰飞雪雪/003355            
沙漠里的鬼鬼/love*136-165
yaoyaolove0707/19891127074x
作者: yslyxqysl    时间: 2009-7-21 21:06

  1. @findstr /bv "[" test.txt|findstr ".*">result.txt
  2. @start result.txt
复制代码

作者: lxzzr    时间: 2009-7-21 21:10     标题: 回复 6楼 的帖子

7楼这样?

[ 本帖最后由 lxzzr 于 2009-7-21 21:11 编辑 ]
作者: 3887676    时间: 2009-7-21 21:11

7楼跟3楼效果一样哦    有间隔。。。。。
作者: lxzzr    时间: 2009-7-21 21:14     标题: 回复 9楼 的帖子

这个?
  1. @echo off
  2. for /f "skip=2 eol=[ delims=" %%a in ('find /v " " a.txt') do echo.%%a
  3. pause
复制代码

[ 本帖最后由 lxzzr 于 2009-7-21 21:18 编辑 ]
作者: 3887676    时间: 2009-7-21 21:17

汗一个      9楼的完全没有效果
作者: Lumiere    时间: 2009-7-21 21:24

第一个帖子考虑不周,呵呵,用这个就没问题了。
  1. @echo off
  2. for /f "eol=- delims=" %%a in ('find "/" a.txt')do echo %%a>>b.txt
  3. pause>nul
复制代码

作者: 3887676    时间: 2009-7-21 21:28

感谢11楼          成功了       谢谢大家
作者: Lumiere    时间: 2009-7-21 21:31     标题: 回复 11楼 的帖子

这个最简洁
  1. findstr \/ a.txt>>b.txt
复制代码

作者: lxzzr    时间: 2009-7-21 21:33     标题: 回复 13楼 的帖子

改下标题吧,呵呵
作者: Lumiere    时间: 2009-7-21 21:34

11楼?那你是在感谢你自己咯?
哈哈,这个论坛里牛人多的是,之前的代码没有成功不过是因为大家都有些小细节没有主意到而已。就像你给出的文本内容,你自己看看,肯定里面空白的行不是空行,而是一个或者多个空格符。最后几个空白行才是空行。如果你文本中的空白行全是空行的话,答复中的代码应该都不会有问题的。所以要说楼主你自己的责任更大。发帖最好忠实于原环境,不要有任何人为改动,这样大家才好对症下药,如果病情上报都跟快乐大本营的快乐传真一样了,再牛的论坛好手也只能一筹莫展,无从下手了。

[ 本帖最后由 Lumiere 于 2009-7-21 22:02 编辑 ]
作者: terse    时间: 2009-7-21 21:37

  1. @echo off
  2. (for /f "eol=[ tokens=1*" %%i in (tes.txt) do echo %%i%%j)>result.txt
  3. start result.txt
  4. pause
复制代码

作者: Batcher    时间: 2009-7-21 22:41     标题: 回复 16楼 的帖子

可能是有人删除了自己的回帖,造成了楼层错乱。

借此机会,建议大家不要随意删除自己的回帖。




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