author: kx <kx@radix.pro> 2023-03-24 03:51:10 +0300
committer: kx <kx@radix.pro> 2023-03-24 03:51:10 +0300
commit: 05d292b208dfe01324826b4c87bbc4da3389a0d5
parent: 40ab18a661ff6ada40e73969be293918d346a2f5
Commit Summary:
Diffstat:
1 file changed, 23 insertions, 0 deletions
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644
index 0000000..b26de01
--- /dev/null
+++ b/po/insert-header.sin
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}