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
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
@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

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