code: func Delete(path string, recs []Record) error {
  	defer pathLock(path)()
  
  	if len(recs) == 0 {
  		return nil
  	}
  	old, err := os.Open(path)
  	if err != nil {
  		return err
  	}
  
  	var buf bytes.Buffer
  
  	s := bufio.NewScanner(old)
  	eol := []byte{'\n'}
  loop:
  	for s.Scan() {
  		b := s.Bytes()
  		if len(b) == 0 {
  			continue
  		}
  
  		if b[0] == '#' {
  			buf.Write(b)
  			buf.Write(eol)
  			continue
  		}
  		for _, r := range recs {
  			if bytes.HasSuffix(b, []byte("\t"+r.Hosts)) {
  				continue loop
  			}
  		}
  		buf.Write(b)
  		buf.Write(eol)
  	}
  	old.Close()
  	if err := s.Err(); err != nil {
  		return err
  	}
  	return ioutil.WriteFile(path, buf.Bytes(), 0644)
  }
docs: // Delete deletes an arbitrary number of Records already existing in /etc/hosts file