Mea culpa.
split ne semble s'intéresser qu'à la taille.
Donc, avec un fichier de 788 octets, il coupe en 3 sans couper les lignes.
On a, alors, 3 fichiers d'environ 256 octets.
Sauf que, comme la première ligne est immense, on se retrouve avec un premier fichier de peu de lignes, et 2 autres fichiers longs.
split ne résout pas la question.
n=3;for ((k=1;k<=$n;k++)); do awk -vn=$n -vk=$k -vl=$(sed -n '$=' fichier) '(int((NR-1)/(l/n))==k-1){if(p=="") p=$1;d=$1;} END{print "De",p,"à",d;} ' fichier ;done
Partager