trier un fichier en ligne (perl sort inline)
Le
Cyrille Lefevre
Bonjour,
est-il possible de faire qqc comme :
perl -e 'print sort <STDIN>' file
avec l'option -i ?
l'idée est de trier le fichier en ligne
Cordialement,
Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%nospam@laposte.net.invalid
supprimer "%nospam% et ".invalid" pour me repondre.
est-il possible de faire qqc comme :
perl -e 'print sort <STDIN>' file
avec l'option -i ?
l'idée est de trier le fichier en ligne
Cordialement,
Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%nospam@laposte.net.invalid
supprimer "%nospam% et ".invalid" pour me repondre.

Poser une question


"en ligne" = "en place" ? Ou avec une seule ligne de commande ?
Pourquoi pas :
sort -o file file
?
Voici deux propositions :
perl -lp0 -i -e '$_ = join "n"=> sort split /n/' thefile
perl -aF"n" -lp0 -i -e '$_=join$,' thefile
--
DW
Voici deux propositions :
perl -lp0 -i -e '$_ = join "n" => sort split /n/' thefile
perl -aF"n" -lp0 -i -e '$_=join$,' thefile
--
DW
Parce que ça ne marchera que sur les petits fichiers, ceux
ou les E/S bufferisée font qu'on lira tout avant de tout écrire ?
Comme d'habitude, c'est facile à faire de façon naive:
sort file -o /tmp/file ; mv /tmp/file file
et bien plus lourd de façon robuste (mktemp, test de succès)
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?a...amp;id_mot0
Posix garantit explicitement que ça marche...
(contrairement à sort file > file)