added README and copyright nonsense
This commit is contained in:
46
README.md
Normal file
46
README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# csv-awk
|
||||
|
||||
Copyright (C) 2025 Jonathan Lamothe <jonathan@jlamothe.net>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public
|
||||
License along with this program. If not, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
## Executive Summary
|
||||
|
||||
These are quick and dirty python scripts I threw together to
|
||||
facilitate manipulating CSV files with AWK. It is heavily inspired by
|
||||
[csvquote](https://github.com/adamgordonbell/csvquote). I just didn't
|
||||
want to have to install go on a machine to use it. I wrote this one
|
||||
in Python because that's very likely to already be present on most any
|
||||
modern UNIX-ey system.
|
||||
|
||||
It provides two scripts: `csv-reader.py` and `csv-writer.py` which
|
||||
read and write CSV files respectively. Both read from standard input
|
||||
and write to standard output. The format they convert the CSV to/from
|
||||
works as follows:
|
||||
|
||||
- Each row is represented as a single line of text.
|
||||
- Cells are separated by tab characters.
|
||||
- Certain special characters within the cells are substituted for other values as follows:
|
||||
- Newlines become `~n`.
|
||||
- Carriage returns become `~r`.
|
||||
- Tabs become `~t`.
|
||||
- Tildes (`~`) become `~!`.
|
||||
- All other characters remain unchanged.
|
||||
|
||||
## Disclaimer
|
||||
|
||||
I haven't seriously looked at Python in over a decade and I hacked it
|
||||
together in like 30 minutes. Don't go looking for the most well
|
||||
put-together code you've ever seen. It gets the job done though.
|
||||
Reference in New Issue
Block a user