中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 07:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【已结】文本处理,清除某行前的数据。 查看 944 回复 8
楼 主 【已结】文本处理,清除某行前的数据。 发表于 2009-08-12 09:40 ·  中国 广东 广州 电信
初级用户
积分 26
发帖 30
注册 2008-12-20 02:46
17年会员
UID 134410
性别 男
状态 离线
有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 ]
附件
log_txt.rar (687 bytes, 下载次数: 17)
2 发表于 2009-08-12 10:11 ·  中国 江苏 苏州 电信
中级用户
★★
积分 247
发帖 83
注册 2005-09-12 12:06
20年会员
UID 42446
性别 男
状态 离线
sed
3 发表于 2009-08-12 12:07 ·  中国 广东 广州 电信
初级用户
积分 26
发帖 30
注册 2008-12-20 02:46
17年会员
UID 134410
性别 男
状态 离线
Originally posted by ily2013 at 2009-8-12 10:11:
sed



楼上详细说一下好吗, 我对sed一点也不懂。
4 发表于 2009-08-12 14:52 ·  中国 北京 海淀区 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
FR 更简单
要会用SED和FR需要熟悉正则表达式。

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
5 发表于 2009-08-12 14:54 ·  中国 北京 海淀区 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
能不能传部分文本上来看看
没实际的文件不好写命令。

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
6 附件上传好了。 发表于 2009-08-12 22:12 ·  中国 广东 广州 电信
初级用户
积分 26
发帖 30
注册 2008-12-20 02:46
17年会员
UID 134410
性别 男
状态 离线
dx帮帮忙~~
7 发表于 2009-08-13 00:08 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
那就从null行开始读起 复制出来。

在批处理里面设定一个开关。
8 发表于 2009-08-13 05:57 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
@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"
)
)
9 发表于 2009-08-15 13:17 ·  中国 广东 广州 电信
初级用户
积分 26
发帖 30
注册 2008-12-20 02:46
17年会员
UID 134410
性别 男
状态 离线
谢谢 tireless

可以用了, 如果能自动清除空行那就更好了。
论坛跳转: