22
块我有一个文本块,看起来像这样:使用SED删除文本
<!-- BOF CLEAN -->
... a bunch of stuff
<!-- EOF CLEAN -->
我想删除整个块。什么是sed命令?
块我有一个文本块,看起来像这样:使用SED删除文本
<!-- BOF CLEAN -->
... a bunch of stuff
<!-- EOF CLEAN -->
我想删除整个块。什么是sed命令?
$ cat text
abc
<!-- BOF CLEAN -->
... a bunch of stuff
<!-- EOF CLEAN -->
def
$ sed '/<!-- BOF CLEAN -->/,/<!-- EOF CLEAN -->/d' text
abc
def
http://www.catonmat.net/blog/sed-one-liners-explained-part-three/
要删除所有文字从开始,包括<!-- BOF CLEAN -->
,在结束与包括<!-- EOF CLEAN -->
,使用下面的sed命令:
sed -i '/<!-- BOF CLEAN -->/,/<!-- EOF CLEAN -->/d' file_name;
SED删除了我文件!!我做了'sed'/^0.*$/d's1d13700.c',它向控制台吐出正确的结果,然后我做了'sed'/^0.*$/d's1d13700.c> s1d13700.c'用结果覆盖原始文件,文件完全变空! –
@ Zom-B在'sed ... s1d13700.c> s1d13700.c'中发生了什么?在运行sed之前,shell首先创建一个新的空文件's1d13700.c',从而用相同的名称覆盖输入文件。使用'sed -i.original ... s1d13700.c'来就地更改文件并将原始文件的备份创建为's1d13700.c.original'。 –