Se forem apenas timestamps arbitrários, então não há necessidade real de date
(eles são apenas números, certo?). Que tal algo como:
printf '1393548962358%s\n' {000000..999999} >1m-example.txt
Se não houver nenhum problema com eles sendo consecutivos. Outra ideia, mais próxima do original, é usar o seguinte:
yes now | head -n 1MB | date -f - +%s%N >1m-example.txt
Isso deixará algum espaço entre os números que variam com a entropia natural do sistema. Algo a se observar aqui é a dependência de hardware / implementação, pois os timestamps de nanossegundos completos podem não ser suportados, por exemplo, você pode ter apenas milissegundos ou até mesmo precisão. Nesse caso, você teria que repetir números com zeros no final provavelmente repetiria. Funciona bem para mim!
Atualizar
Como observação, se você estiver tentando criar carimbos de data / hora para serem lidos por date
, será necessário adicionar um @
para que date
os interprete como timestamps e não como datas / horas formatadas. Além disso, um ponto decimal é necessário, pois date
só recebe registros de data e hora em segundos (e não em nanossegundos). Veja o exemplo a seguir (e comentários abaixo):
printf '@1393548962.358%s\n' {000000..000005} | date -f - '+%F %T.%N'