LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 963|回复: 3

问一个sed的问题,大家进来看看阿。

[复制链接]
发表于 2006-9-5 00:56:46 | 显示全部楼层 |阅读模式
看到sed手册上的一个例子:
將文件內連續的空白行 , 刪除它們成為一行。其命令列為
   sed -e '/^$/{
   N
   /^$/D
   }' 文件檔

其中 , 函數參數 N(參照[section4.16])表示 , 將空白行的下一行資料添加至 pattern space 內。函數參數 /^$/D 表示 , 當添加的是空白行時 , 刪除第一行空白行 , 而且剩下的空白行則再重新執行指令一次。指令重新執行一次 , 刪除一行空白行 , 如此反覆直至空白行後添加的為非空白行為止 , 故連續的空白行最後只剩一空白行被輸出。

为什么我试验的时候不成功呢,空白行一个都不被删除?是sed的版本原因导致的吗?
发表于 2006-9-8 16:08:28 | 显示全部楼层
/^$/D
seems to
/^\n$/D

try it
回复 支持 反对

使用道具 举报

发表于 2006-9-27 11:59:08 | 显示全部楼层
try this comm:sed '/^[ ]*$/d' filename
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-27 19:24:43 | 显示全部楼层
2楼是正解,3楼的还没实验,发完贴转天我想出来了,忘了上来说,还是要感谢楼上的2位朋友,多谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表