标题: sed 删除空行问题
[打印本页]
作者: amio
时间: 2008-6-27 10:35
标题: sed 删除空行问题
aaaaaaaaaa
bbbbbbbbb cccccccc
dddddddddddddddd
eeeeeee ee eeeee
---------------------------------- 变成↓
aaaaaaaaaa
bbbbbbbbb cccccccc
dddddddddddddddd
eeeeeee ee eeeee
作者: HAT
时间: 2008-6-27 10:47
sed "/^$/d" a.txt
作者: hongewuyan
时间: 2008-6-27 10:49
sed "/./!d" your.txt >new.txt
如果是要求dos格式,就这样:
sed "/./!d" your.txt | sed "s/$/\r/">new.txt
作者: amio
时间: 2008-6-27 11:06
能不能对 这个.txt 直接进行修改 不重新生成个 new.txt
我是用批处理调用 sed 的 不是直接用sed命令
作者: HAT
时间: 2008-6-27 11:13
好像没有那个命令可以直接修改文本内容吧,呵呵,还是用临时文件吧。
作者: amio
时间: 2008-6-27 16:24
能不能让行与行之间保留一行空行 ?
作者: hongewuyan
时间: 2008-6-27 16:33
sed "/./!d" your.txt | sed G | sed "s/$/\r/">new.txt
作者: HAT
时间: 2008-6-27 16:40
处理之前
Quote: |
aaaaaaaaaa
bbbbbbbbb cccccccc
dddddddddddddddd
eeeeeee ee eeeee |
|
处理之后
Quote: |
aaaaaaaaaa
bbbbbbbbb cccccccc
dddddddddddddddd
eeeeeee ee eeeee |
|
是这个意思吗?
sed "G" a.txt
作者: amio
时间: 2008-6-27 17:19
Quote: |
Originally posted by hongewuyan at 2008-6-27 04:33 PM:
sed "/./!d" your.txt | sed G | sed "s/$/\r/">new.txt |
|
这个可以
作者: amio
时间: 2008-6-27 17:19
Quote: |
Originally posted by HAT at 2008-6-27 04:40 PM:
处理之前
处理之后
是这个意思吗?
sed "G" a.txt |
|
如果中间有很多空行不行的
作者: amio
时间: 2008-6-27 17:20
我日 sed 也不支持 unicode编码。。。。。。。。。。。。
作者: HAT
时间: 2008-6-27 17:32
Quote: |
Originally posted by amio at 2008-6-27 05:19 PM:
如果中间有很多空行不行的 |
|
自己应该可以看出来吧?
sed "/^$/d" a.txt | sed "G"
作者: HAT
时间: 2008-6-27 17:35
Quote: |
Originally posted by amio at 2008-6-27 05:20 PM:
我日 sed 也不支持 unicode编码。。。。。。。。。。。。 |
|
这个简单,先type一下就行了。
type a.txt | sed "/^$/d" | sed "G"
作者: amio
时间: 2008-6-27 17:47
Quote: |
Originally posted by HAT at 2008-6-27 05:35 PM:
这个简单,先type一下就行了。
type a.txt | sed "/^$/d" | sed "G" |
|
我用的是 unicode 的INF文件 好像不好使.....
作者: HAT
时间: 2008-6-27 17:59
不好使的具体表现是?

作者: amio
时间: 2008-6-27 18:07
我估计你新建的 a.inf 默认的编码是 ANSI 的吧
作者: HAT
时间: 2008-6-27 18:10
这点常识我还是有的,呵呵。
我用的"另存为"
你的sed版本是?
C:\ProgramMy\GnuWin32>sed --version
GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.
作者: amio
时间: 2008-6-27 18:58
C:\Program Files\GnuWin32\bin>sed --version
GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.
我是用批处理调用的 估计原因是这
cd "C:\Program Files\GnuWin32\bin"
type c:\a.INF | sed.exe "/^$/d" | sed.exe "G"
作者: amio
时间: 2008-6-27 18:59
如果不用批处理调用的话 很麻烦的
作者: amio
时间: 2008-6-27 19:27
又失败了 用type 处理完还是ANSI的 而一些字符成了乱码 "??????"
作者: HAT
时间: 2008-6-27 20:24
是否介意把你的a.inf的内容贴出来看看?

作者: amio
时间: 2008-6-27 20:37
就是系统里面的INF 文件
如果想要 批处理在什么文件夹下都可以调用 是不是得吧sed.exe 放到系统文件夹下
作者: HAT
时间: 2008-6-28 00:06
或者把sed所在的目录加入到%path%里面也可以
系统里面的哪个INF文件?完整路径是什么?
作者: kevingames
时间: 2008-6-30 13:33
深刻学习中