title: sed: How to delete lines matching a pattern that contains forward slashes?
body: <p>Suppose a file <code>/etc/fstab</code> contains the following:</p>
  
  <pre><code>/dev/xvda1 / ext4 defaults 1 1
  /dev/md0    /mnt/ibsraid    xfs defaults,noatime    0   2
  /mnt/ibsraid/varlog /var/log    none    bind    0   0
  /dev/xvdb   None    auto    defaults,nobootwait 0   2
  </code></pre>
  
  <p>I want to delete the line starting with <code>/dev/xvdb</code>. So I tried:</p>
  
  <pre><code>$ sed '/^/dev/xvdb/d' /etc/fstab
  sed: -e expression #1, char 5: extra characters after command
  $ sed '?^/dev/xvdb?d' /etc/fstab
  sed: -e expression #1, char 1: unknown command: `?'
  $ sed '|^/dev/xvdb|d' /etc/fstab
  sed: -e expression #1, char 1: unknown command: `|'
  </code></pre>
  
  <p>None of these worked. I tried changing the delimiters to <code>?</code> and <code>|</code> because doing this works for the sed substitution command when a pattern contains <code>/</code>.</p>
  
  <p>I am using GNU Sed 4.2.1 on Debian.</p>