insert-header.sin 672 B

123456789101112131415161718192021222324
  1. # Sed script that inserts the file called HEADER before the header entry.
  2. #
  3. # At each occurrence of a line starting with "msgid ", we execute the following
  4. # commands. At the first occurrence, insert the file. At the following
  5. # occurrences, do nothing. The distinction between the first and the following
  6. # occurrences is achieved by looking at the hold space.
  7. /^msgid /{
  8. x
  9. # Test if the hold space is empty.
  10. s/m/m/
  11. ta
  12. # Yes it was empty. First occurrence. Read the file.
  13. r HEADER
  14. # Output the file's contents by reading the next line. But don't lose the
  15. # current line while doing this.
  16. g
  17. N
  18. bb
  19. :a
  20. # The hold space was nonempty. Following occurrences. Do nothing.
  21. x
  22. :b
  23. }