Я пытаюсь просто посчитать строки в .CSV для каждого столбца, в то же время игнорируя пустые строки.
Я использую ниже, и это работает для 1-го столбца:
cat /path/test.csv | cut -d, -f1 | grep . | wc -l` >> ~/Desktop/Output.csv
#Outputs: 8
И ниже для 2-го столбца:
cat /path/test.csv | cut -d, -f2 | grep . | wc -l` >> ~/Desktop/Output.csv
#Outputs: 6
Но когда я пытаюсь сосчитать 3-й столбец, он просто выводит общее количество строк в целом .CSV.
cat /path/test.csv | cut -d, -f3 | grep . | wc -l` >> ~/Desktop/Output.csv
#Outputs: 33
#Should be: 19?
Я также пытался использовать awk
вместо cut
, но получил ту же проблему.Я попытался создать новый file
, думая, что, возможно, в нем есть пробелы в строках, все те же.
Может кто-нибудь уточнить, в чем разница?Между прочтением 1-2 колонки и остальными?
20355570_01.tif,,
20355570_02.tif,,
21377804_01.tif,,
21377804_02.tif,,
21404518_01.tif,,
21404518_02.tif,,
21404521_01.tif,,
21404521_02.tif,,
,22043764_01.tif,
,22043764_02.tif,
,22095060_01.tif,
,22095060_02.tif,
,23507574_01.tif,
,23507574_02.tif,
,,23507574_03.tif
,,23507804_01.tif
,,23507804_02.tif
,,23507804_03.tif
,,23509247_01.tif
,,23509247_02.tif
,,23509247_03.tif
,,23527663_01.tif
,,23527663_02.tif
,,23527663_03.tif
,,23527908_01.tif
,,23527908_02.tif
,,23527908_03.tif
,,23535506_01.tif
,,23535506_02.tif
,,23535562_01.tif
,,23535562_02.tif
,,23535636_01.tif
,,23535636_02.tif
![csv in spreadsheet software](https://i.stack.imgur.com/UaPyQl.png)