Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/01/2015, à 08:33

LaGirafe

[Résolu] Trier un fichier en éditant sur place (sans fichier sortie)

Bonjour,

Pour trier un fichier en éditant sur place, je fais :

cat fichier1.txt | sort > fichier2.txt
cat fichier2.txt > fichier1.txt
rm fichier2.txt 

Il n'y aurait pas moyen de tout faire sur une ligne, sans créer de fichier sortie ?

J'ai aussi essayé
- de combiner sort avec une commande sed, qui elle permet d'éditer sur place avec sed -i, sans succès.
- de mettre le résultat dans une variable, mais dans ce cas je perds les retours chariot, que je retrouve avec tr ' ' '\n' :

i=$(sort fichier1.txt); echo $i | tr ' ' '\n' > fichier1.txt

Peut-on faire plus simple ?
Peut-on conserver les retours chariot ?

Merci à vous

Dernière modification par LaGirafe (Le 09/01/2015, à 10:38)

Hors ligne

#2 Le 09/01/2015, à 09:30

Hizoka

Re : [Résolu] Trier un fichier en éditant sur place (sans fichier sortie)

Deja le cat ne sert à rien ici:

cat fichier1.txt | sort > fichier2.txt
=>
sort fichier1.txt > fichier2.txt

Sort doit en effet renvoyer les infos vers un autre fichier sinon celui ci sera vide.

i=$(sort fichier1.txt); echo $i | tr ' ' '\n' > fichier1.txt

Toujours penser à encadrer les variables de " car

var="Bonjour   comment
vas tu ?"
echo "${var}"
Bonjour   comment
vas tu ?

echo $var
Bonjour comment vas tu ?

Sed n'est pas du tout utile dans le cas présent...

cat test
a
z
e
r
t
y
u
i
o
p

var=$(sort test)

echo "${var}" > test

cat test
a
e
i
o
p
r
t
u
y
z

ou en une ligne comme tu veux :

var=$(sort test) && echo "${var}" > test

Dernière modification par Hizoka (Le 09/01/2015, à 09:31)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 09/01/2015, à 10:40

LaGirafe

Re : [Résolu] Trier un fichier en éditant sur place (sans fichier sortie)

Super clair et concis, merci beaucoup !

Hors ligne