Если «достаточно распространенный» включает массив данных GNU , тогда
datamash -Ws crosstab 1,2 < file
напр.
$ datamash -Ws crosstab 1,2 < file
A B C
2017-07-30 3 2 1
2017-07-31 1 2 2
(к сожалению, форматирование этого сайта не сохраняет вкладки -фактический вывод выравнивается по табуляции ).