I'm using grep, sed and column to make a little makefile documentation, but I get the following error: column: line too long
.
My attempt is the following:
## this is the documentation
yes:
@echo hello
help:
@grep -Pzo "##.*\n[a-zA-Z0-9_-]+:" $(MAKEFILE_LIST) \
| sed -z "s/\n/,/" \
| sed -n "s/##\(.*\),\(.*\)[:, 1]/\2\1/p" \
| column -t -s ','
I really don't understand the problem here because when I run the command without the column I get a line size way below the 2049 (defined by MAXLINELEN in C code).
Answer
After reading the answer I concluded that I just needed to add a '\n' to the end of my second grep. Like this:
sed -n "s/##\(.*\),\(.*\)[:, 1]/\2\1\n/p"