在linux中使用sed取消注释并注释一行配置文件

时间:2017-04-13 11:43:06

标签: linux unix sed

我在my-config文件中有以下文字

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="selector">
    <div class="get-values">

      <input type="text" value="" class="getvalue">
      <select class="control">
          <option value="">select</option>
          <option value="Binary" data-code="BY">Binary</option>
          <option value="Alpha" data-code="AA">Alpha</option>
          <option value="AlphaNumeric" data-code="AN">AlphaNumeric</option>
          <option value="Numeric" data-code="NC">Numeric</option>
      </select>
      <input type="button" value="getcode" class="getcode" onclick="getcodes()">
      <input type="text" value="" class="disabled" disabled>
    </div>
</div>

我想取消注释注释行并注释未注释的行。我尝试使用sed命令

<!--<URL>www.abc.com</URL>-->
         www.xyz.com

但是收到错误

sed -i '/<!--<URL>www.abc.com</URL>-->/s/^#//g' filename /'`

请帮我解决这个问题,或者更正我的sed命令是否有问题。提前谢谢。

1 个答案:

答案 0 :(得分:1)

由于您使用'/'作为sed分隔符,因此必须将'\'转义为标记中的'/'。

e.g。

 sed -i '/<!--<URL>www.abc.com<\/URL>-->/s/^#//g' filename

您还可以在sed中切换分隔符,以提高可读性more