Board logo

标题: sed删除由空格组成的空行 [打印本页]

作者: amio     时间: 2008-7-13 12:30    标题: sed删除由空格组成的空行

sed删除由空格组成的空行
作者: 26933062     时间: 2008-7-13 12:37

@echo off
sed "/^  *$/d" a.txt|find /v ""
pause

作者: amio     时间: 2008-7-13 12:52
貌似没什么作用
作者: 26933062     时间: 2008-7-13 13:13


  Quote:
Originally posted by amio at 2008-7-13 12:52:
貌似没什么作用

什么叫“貌似” ?
你测试了吗?
我怎么测试正常啊。。。
作者: amio     时间: 2008-7-13 13:18
sed -i "/^  *$/d" a.txt|find /v ""

我是这么测试的
作者: 26933062     时间: 2008-7-13 14:01
你想直接修改源文件,那你应该在顶楼说清楚啊。。
不会。
作者: HAT     时间: 2008-7-13 14:38

@echo off
sed "/^ *$/d" a.txt>b.txt
move /y b.txt a.txt

作者: amio     时间: 2008-7-13 16:31


  Quote:
Originally posted by HAT at 2008-7-13 02:38 PM:
@echo off
sed "/^ *$/d" a.txt>b.txt
move /y b.txt a.txt

你测试可行吗    我的怎么不行呢?
作者: 26933062     时间: 2008-7-13 16:44
楼主真的有意思,就一句不行。
到底是什么问题,哪里不行? 你就这么吝啬吗?连你出现不行的状况都舍不得说说?
别人是在帮你啊、别搞的象是别人求你似的。。。
作者: HAT     时间: 2008-7-13 17:04
我测试行。
可能是你的sed版本太低了。

  Quote:
C:\Test>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-7-13 17:21
不好意思弄错了   是删除一行的开始有 空格组成的空行   只删除空格组成的空行  但是后面的文字保留

比如:
           aaaaaaaaaaa
变成
aaaaaaaaaaa
作者: HAT     时间: 2008-7-13 17:29

@echo off
sed "s/^ *//g" a.txt>b.txt
move /y b.txt a.txt
下次提问的时候,最好在顶楼就给个例子,呵呵。
作者: 26933062     时间: 2008-7-13 17:35
难道真是sed版本问题? HAT 兄的sed 不用 find 过滤么?
:
@echo off
sed "s/^ *//g" a.txt|find /v "">b.txt
move /y b.txt a.txt

作者: amio     时间: 2008-7-13 17:38
这个是cu论坛 给的   是不是意思都一样
sed 's/^[[:blank:]]\+//'
作者: HAT     时间: 2008-7-13 18:56
如果你在CU潜水足够久的话,就会知道[[:blank:]]不仅包括空格,还包括所有的空白字符,呵呵。
作者: amio     时间: 2008-7-14 18:35
不发新帖子了  再请教个问题  sed 的
删除 带有 [] 符号 下的所有行 直到下一个[] 符号为止  也包括[]自己

例子:

[aaa]
111
222
333

[bbb]
444
555
666

[ccc]
777
888
999

变成:

[aaa]
111
222
333

[ccc]
777
888
999

最好不要以行号做判断
作者: HAT     时间: 2008-7-14 19:37
也包括[]自己,按照这个条件匹配的话,[aaa]和[ccc]下面的不是都应该删除吗?
作者: amio     时间: 2008-7-15 18:34
就是 [bbb] 自己
作者: HAT     时间: 2008-7-15 20:58    标题: to 17楼


sed "/^\[bbb\]$/,/^\[ccc\]$/d" a.txt | sed "s/^$/\n\[ccc\]/"