Board logo

标题: 【已结】文本处理,清除某行前的数据。 [打印本页]

作者: 363523943     时间: 2009-8-12 09:40    标题: 【已结】文本处理,清除某行前的数据。

有1.txt 2.txt ....n.txt 如下不规则文本文件。想请教一下如何用cmd命令处理一下, 删掉NULL行之前的数据,只留下后面的。


附件log_txt.rar




------------------黑色的清除,红色保留---------------
1> 2> 1> 2> 3> 4>  Column1     
-----------
           0
(1 行受到影响)                          
1> 2> 1>
1> 2> 3> 4>  

......第N行。
                     
NULL                                                                        
如果文本内有NULL,则保留NULL及以下所有文本。

不要删我
------------------------------------------------------------


[ Last edited by 363523943 on 2009-8-15 at 13:16 ]
附件 1: log_txt.rar (2009-8-12 22:09, 687 bytes,下载次数: 17)

作者: ily2013     时间: 2009-8-12 10:11
sed
作者: 363523943     时间: 2009-8-12 12:07


  Quote:
Originally posted by ily2013 at 2009-8-12 10:11:
sed

楼上详细说一下好吗, 我对sed一点也不懂。
作者: yishanju     时间: 2009-8-12 14:52
FR 更简单
要会用SED和FR需要熟悉正则表达式。
作者: yishanju     时间: 2009-8-12 14:54
能不能传部分文本上来看看
没实际的文件不好写命令。
作者: 363523943     时间: 2009-8-12 22:12    标题: 附件上传好了。

dx帮帮忙~~
作者: 523066680     时间: 2009-8-13 00:08
那就从null行开始读起 复制出来。

在批处理里面设定一个开关。
作者: tireless     时间: 2009-8-13 05:57
CODE:  [Copy to clipboard]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=:" %%a in ('findstr /n "\<NULL\>" *.txt') do (
    if not defined #%%~na (
        set #%%~na=.
        set /a n=%%b-1
        more +!n! "%%a" > .temp
        move .temp "%%a"
    )
)

作者: 363523943     时间: 2009-8-15 13:17
谢谢 tireless

可以用了, 如果能自动清除空行那就更好了。




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5