O procedimento:
- injete um marcador com uma semi-data que é numericamente um pouco menor que a data limite;
- aplica classificação numérica;
- interrompe o processamento no marcador, sem passar pela própria linha do marcador;
- conta linhas.
O código (começa com o seu código):
{ cut -d "," -f 4 2008A.csv | cut -d "T" -f 1; \
printf "2008-01-09.9 marker\n"; } |
sort -n |
sed '/marker/Q' |
wc -l
Notas:
-
Q
insed
não é POSIX, seused
pode não entender. Em caso afirmativo, usesed '/marker/q'
; mas isso vai passar a linha do marcador, você precisa filtrá-lo antes dewc -l
x ou diminuir o resultado final em um. - Cuidado com linhas vazias (se houver);
sort
os colocará no começo, isso alterará o resultado. Minha resposta assume que não há nenhuma. Uma nova linha antes do fim do arquivo (EOF) está correta, não cria uma linha vazia .