Dado um CSV simplificado (máximo de uma linha por linha) com muitos campos de dados (> 50), como posso contar o comprimento máximo de caracteres para cada campo de dados e exportar todas as contagens para um arquivo txt?
BTW, eu quero ignorar a primeira linha do arquivo que contém os títulos das colunas.
Por exemplo, dada a entrada
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
O resultado final poderia ser algo como o seguinte, em que a primeira coluna indica os campos de dados no arquivo original e a segunda coluna indica o tamanho máximo do campo:
1 | 10
2 | 11
3 | 12
4 | 13
isto é, o comprimento do valor mais longo na coluna 1 é 10 ( abcdefghij
),
o comprimento do valor mais longo na coluna 2 é 11 ( abcdefghijk
), etc.
Eu pesquisei no site um pouco e encontrei algumas maneiras que podem contar o comprimento máximo de uma maneira bastante direta quando um determinado campo de dados é especificado. Por exemplo, use os comandos cut e wc para contar o comprimento máximo do segundo campo no arquivo:
cut -d, -f2 test.csv | wc -L
Mas como posso pegar o comando e fazer o loop para todos os campos de dados e, em seguida, gerar a saída?