中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 02:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]sed命令如何判断超长行的行数。 查看 912 回复 4
楼 主 [求助]sed命令如何判断超长行的行数。 发表于 2010-06-21 17:28 ·  中国 广东 深圳 电信
初级用户
积分 21
发帖 21
注册 2010-06-19 17:50
16年会员
UID 169155
性别 男
状态 离线
现在有一个文本 里面有一行非常长。行的内容是 字符 制表符 字符 制表符.....

用记事本打开后发现这一行已经被分成了3行显示(没有开自动换行)。
(用excle打开发现是1行,已经延伸到了IG那一列了 大概有270多个制表符了)

这个是 sed会认为这是一行还是3行。

另外问下sed命令如何识别制表符(制表符的通配符是啥)
2 发表于 2010-06-21 17:55 ·  中国 江苏 扬州 电信
初级用户
积分 90
发帖 43
注册 2007-10-31 11:00
18年会员
UID 101268
性别 男
状态 离线
使用正则表达式来识别行,行的结尾符号是$,你看到的几行只是显示上的问题,可以使用ultraedit打开看看。

制表符一般都是用\t来表示。
3 发表于 2010-06-21 18:19 ·  中国 广东 深圳 电信
初级用户
积分 21
发帖 21
注册 2010-06-19 17:50
16年会员
UID 169155
性别 男
状态 离线
看了16进制发现这行的确只有一个0D 0A
但是用sed "行号"d filename为何不能删除。
行号是状态栏里显示的。
4 发表于 2010-06-21 19:02 ·  中国 江苏 扬州 电信
初级用户
积分 90
发帖 43
注册 2007-10-31 11:00
18年会员
UID 101268
性别 男
状态 离线
是不是sed命令写得不对?

unix下一般都是这样写:
sed 'm,nd'表示删除从第m行至第n行的内容。
5 发表于 2010-06-21 21:05 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
1行
\t
论坛跳转: