中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 00:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 不用sed怎么删除空行 查看 2,214 回复 18
16 发表于 2007-08-30 17:33 ·  中国 北京 朝阳区 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
...........没有考虑这个事。。。完了。。。。。。。

@echo off
set runtimes=0
FOR /F "delims=" %%i in (myfile.txt) do (
call :func1 "%%i" "%%i"
)
pause
pause
pause
:func1
set /a runtimes=%runtimes%+1
set EL=1
set T1=%1
set T1=%T1: =%
if NOT %T1%=="" set EL=0
if %EL%==0 (
if NOT %runtimes%==1 echo+>>done.txt
set /p "null=%2"<nul>>done.txt
)
goto :EOF
17 发表于 2007-08-30 18:45 ·  中国 广东 广州 白云区 电信
中级用户
★★
积分 259
发帖 112
注册 2006-09-18 04:55
19年会员
UID 62928
性别 男
状态 离线
呵呵..的确有意思..有创意..学习了!~
18 发表于 2007-08-30 18:59 ·  中国 湖北 仙桃 电信
中级用户
★★
积分 301
发帖 135
注册 2007-05-15 16:49
19年会员
UID 88615
性别 男
状态 离线
Originally posted by knoppix7 at 2007-8-30 05:33 PM:
...........没有考虑这个事。。。完了。。。。。。。

@echo off
set runtimes=0
FOR /F "delims=" %%i in (myfile.txt) do (
call :func1 "%%i" "%%i"
...


非空行前面的空格还掉了啊
19 发表于 2007-12-21 12:48 ·  中国 安徽 马鞍山 电信
中级用户
★★
拟谷盗
积分 312
发帖 108
注册 2007-01-21 11:36
19年会员
UID 77238
性别 男
状态 离线
用这个可以,注意*前有个空格 sed "/^ *$/d"

# 删除文件中的所有空行
sed '/^$/d' # 方法1
sed '/./!d' # 方法2
论坛跳转: