中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 03:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » sed 删除空行问题 查看 2,026 回复 23
楼 主 sed 删除空行问题 发表于 2008-06-27 10:35 ·  中国 辽宁 营口 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
18年会员
UID 95263
性别 男
状态 离线
aaaaaaaaaa
bbbbbbbbb cccccccc

dddddddddddddddd



eeeeeee ee eeeee
---------------------------------- 变成↓
aaaaaaaaaa
bbbbbbbbb cccccccc
dddddddddddddddd
eeeeeee ee eeeee
2 发表于 2008-06-27 10:47 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
sed "/^$/d" a.txt
3 发表于 2008-06-27 10:49 ·  IANA 局域网IP(Private-Use)
初级用户
积分 65
发帖 29
注册 2008-03-24 12:17
18年会员
UID 113853
性别 男
状态 离线
sed "/./!d" your.txt >new.txt

如果是要求dos格式,就这样:

sed "/./!d" your.txt | sed "s/$/\r/">new.txt
4 发表于 2008-06-27 11:06 ·  中国 辽宁 营口 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
18年会员
UID 95263
性别 男
状态 离线
能不能对 这个.txt 直接进行修改 不重新生成个 new.txt

我是用批处理调用 sed 的 不是直接用sed命令
5 发表于 2008-06-27 11:13 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
好像没有那个命令可以直接修改文本内容吧,呵呵,还是用临时文件吧。
6 发表于 2008-06-27 16:24 ·  中国 辽宁 营口 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
18年会员
UID 95263
性别 男
状态 离线
能不能让行与行之间保留一行空行 ?
7 发表于 2008-06-27 16:33 ·  IANA 局域网IP(Private-Use)
初级用户
积分 65
发帖 29
注册 2008-03-24 12:17
18年会员
UID 113853
性别 男
状态 离线
sed "/./!d" your.txt | sed G | sed "s/$/\r/">new.txt
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
amio +2 2008-06-27 17:20
8 发表于 2008-06-27 16:40 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
处理之前
aaaaaaaaaa
bbbbbbbbb cccccccc
dddddddddddddddd
eeeeeee ee eeeee


处理之后
aaaaaaaaaa

bbbbbbbbb cccccccc

dddddddddddddddd

eeeeeee ee eeeee


是这个意思吗?

sed "G" a.txt
9 发表于 2008-06-27 17:19 ·  中国 辽宁 营口 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
18年会员
UID 95263
性别 男
状态 离线
Originally posted by hongewuyan at 2008-6-27 04:33 PM:
sed "/./!d" your.txt | sed G | sed "s/$/\r/">new.txt


这个可以
10 发表于 2008-06-27 17:19 ·  中国 辽宁 营口 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
18年会员
UID 95263
性别 男
状态 离线
Originally posted by HAT at 2008-6-27 04:40 PM:
处理之前


处理之后


是这个意思吗?

sed "G" a.txt



如果中间有很多空行不行的
11 发表于 2008-06-27 17:20 ·  中国 辽宁 营口 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
18年会员
UID 95263
性别 男
状态 离线
我日 sed 也不支持 unicode编码。。。。。。。。。。。。
12 发表于 2008-06-27 17:32 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by amio at 2008-6-27 05:19 PM:

如果中间有很多空行不行的


自己应该可以看出来吧?
sed "/^$/d" a.txt | sed "G"
13 发表于 2008-06-27 17:35 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by amio at 2008-6-27 05:20 PM:
我日 sed 也不支持 unicode编码。。。。。。。。。。。。

这个简单,先type一下就行了。
type a.txt | sed "/^$/d" | sed "G"
14 发表于 2008-06-27 17:47 ·  中国 辽宁 营口 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
18年会员
UID 95263
性别 男
状态 离线
Originally posted by HAT at 2008-6-27 05:35 PM:

这个简单,先type一下就行了。
type a.txt | sed "/^$/d" | sed "G"



我用的是 unicode 的INF文件 好像不好使.....
15 发表于 2008-06-27 17:59 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
不好使的具体表现是?

论坛跳转: