Given a simplified CSV (max one line per row) with many data fields (>50), how can I count the maximum character length for each data field and then export all the counts to a txt file? BTW, I want to ignore the first line of the file which contains the column headings.
For example, given the input
These,are,the,column_headings_which_may_be_very_long_but_they_don't_count
abcdefghij,abcdefghijk,abcdefghijkl,abc
aardvark,bat,cat,dog
ant,bee,cow,abcdefghijklm
The end result could be something like the following, where the first column indicates the data fields in the original file and the second column indicates the maximum length of the field:
1 | 10
2 | 11
3 | 12
4 | 13
i.e., the length of the longest value in column 1 is 10 (abcdefghij
),
the length of the longest value in column 2 is 11 (abcdefghijk
), etc.
I have researched on the site a little bit and found couple ways that can count maximum length in a fairly straightforward manner when a certain data field is specified. For example, use cut and wc commands to count maximum length of the second field in the file:
cut -d, -f2 test.csv | wc -L
But how can I take the command and loop it over to all the data fields and then output?