Sed 如何从与特定图案匹配的文件中删除线条

Sed 如何从与特定图案匹配的文件中删除线条,sed,Sed,我有一个文件raw vobs config spec,其中包含以下行 element /vob/ccm_tpl/repository/open_source/opensso_policy_agt/tomcat-v6/3_0-ER2/... VERSION_04 element /vob/ccm_tpl/repository/open_source/opensso/8_0_build6/... VERSION_01 element /vob/ccm_tpl/repository/open_sour

我有一个文件raw vobs config spec,其中包含以下行

element /vob/ccm_tpl/repository/open_source/opensso_policy_agt/tomcat-v6/3_0-ER2/... VERSION_04
element /vob/ccm_tpl/repository/open_source/opensso/8_0_build6/... VERSION_01
element /vob/ccm_tpl/repository/open_source/commons_beanutils/1_8_2/... TPLBASE
#element /vob/ccm_tpl/repository/open_source/commons_collections/3_2_2/... TPLBASE
element /vob/ccm_tpl/repository/open_source/commons_collections/3_2_2/... /main/LATEST
element /vob/ccm_tpl/repository/open_source/commons_collections/3_2_2/... /CHECKEDOUT
element /vob/ccm_tpl/repository/open_source/commons_digester/1_8_1/... TPLBASE
element /vob/ccm_tpl/repository/open_source/commons_el/1_0/... TPLBASE
element /vob/ccm_tpl/repository/open_source/commons_jexl/2_0/... TPLBASE
element /vob/ccm_tpl/repository/open_source/commons_scxml/0_9/... TPLBASE
如何删除这些行

element /vob/ccm_tpl/repository/open_source/commons_collections/3_2_2/... /main/LATEST
element /vob/ccm_tpl/repository/open_source/commons_collections/3_2_2/... /CHECKEDOUT
并取消对此行的注释

#element /vob/ccm_tpl/repository/open_source/commons_collections/3_2_2/... TPLBASE
我试过了

sed -i '/patter/d' filename

但是它不起作用。

从文件中删除行的一种快速方法是将
-n
选项与否定模式结合使用:

打印与图案不匹配的线条

例如:

$ cat foo
foo
bar
baz
$ sed -n '/^b/!p' foo
foo
至于取消注释,只需删除前导的
#
(根据Ed Morton的建议):

上述文件的示例:

$ sed 's/^b//' foo
foo
ar
az

当然要看@EdMorton!非常感谢你的指点。(如你所见,我自己还在学习)
sed 's/^#//'
$ sed 's/^b//' foo
foo
ar
az