fd4c9367f16e443925f7d5f793f400c00127f56b
kent
  Wed Feb 13 14:26:19 2013 -0800
LIttle utility to reverse order of lines in file.
diff --git src/utils/reverseLineOrder/reverseLineOrder.c src/utils/reverseLineOrder/reverseLineOrder.c
new file mode 100644
index 0000000..36117d4
--- /dev/null
+++ src/utils/reverseLineOrder/reverseLineOrder.c
@@ -0,0 +1,44 @@
+/* reverseLineOrder - Write out a file with first line last and last line first.. */
+#include "common.h"
+#include "linefile.h"
+#include "hash.h"
+#include "options.h"
+#include "obscure.h"
+
+void usage()
+/* Explain usage and exit. */
+{
+errAbort(
+  "reverseLineOrder - Write out a file with first line last and last line first.\n"
+  "usage:\n"
+  "   reverseLineOrder input output\n"
+  );
+}
+
+/* Command line validation table. */
+static struct optionSpec options[] = {
+   {NULL, 0},
+};
+
+void reverseLineOrder(char *input, char *output)
+/* reverseLineOrder - Write out a file with first line last and last line first.. */
+{
+struct slName *el, *list = readAllLines(input);
+slReverse(&list);
+FILE *f = mustOpen(output, "w");
+for (el = list; el != NULL; el = el->next)
+    {
+    fprintf(f, "%s\n", el->name);
+    }
+carefulClose(&f);
+}
+
+int main(int argc, char *argv[])
+/* Process command line. */
+{
+optionInit(&argc, argv, options);
+if (argc != 3)
+    usage();
+reverseLineOrder(argv[1], argv[2]);
+return 0;
+}