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; +}