$ wc file182730char.txt
1 28947 182729 file182730char.txt
####
$ perl -e '$t = <>; for (1..28000) { $c = int rand 28888; $d = int rand 28888; print "> $c $d \n"; print $t}' file182730char.txt > file5gb.txt
####
$ time wc file5gb.txt
56000 810600000 5116810585 file5gb.txt
real 7m54.609s
user 4m3.436s
sys 0m10.530s
####
> 12048 6179
reprise de la session [...] commission ne peut tout faire
> 1024 7912
reprise de la session [...] commission ne peut tout faire
> 3926 17512
reprise de la session [...] commission ne peut tout faire
> 15268 6071
####
$ perl -ne 'if (/^> /) { ($c, $d) = (split)[1,2];} else { print join " ", (split)[$c,$d]; print "\n"};' file5gb.txt > foo.txt
####
$ head foo.txt
ceux cen
la incapables
les que
grand la
une en
invitant que
niveau d
au ces
consequences que
un le