Salut à toute et à tous, je suis actuellement en train de faire une petite révision de mes commandes Unix, et je rencontre un problème que je ne parviens pas à expliquer avec "uniq"
J'ai un fichier noms.txt dans lequel il y'a des doublons que j'ai auparavant trié avec sort :
Oui tu n'as pas le droit d'utiliser le même fichier pour l'entrée comme pour la sortie. cela parait logique en faite...
Ce qui se passe c'est que le programme ou bash vide le fichier de sortie, puis commence à lire le fichier d'entrée, mais il est maintenant vide car c'est le même fichier...
Sinon pour information sort possède une option -u pour ne pas avoir de duplication
benjarobin a écrit :Oui tu n'as pas le droit d'utiliser le même fichier pour l'entrée comme pour la sortie. cela parait logique en faite...
Ce qui se passe c'est que le programme ou bash vide le fichier de sortie, puis commence à lire le fichier d'entrée, mais il est maintenant vide car c'est le même fichier...
Je n'avais pas vu ça comme ça, je pensais que bash se contentais d'écrire le résultat dans un fichier au lieu de l'afficher dans la console.
Gaming desktop : Corsair Obsidian 350D, Intel Core I5 4690, Nvidia GTX 770, Asus H97M-E, 8 Go de DDR3, SSD 120 Go, HDD 500 Go, Powered by Arch Linux.
Notebook : Asus PU500CA, Intel Core i5-3317U, 4 Go de DDR3, SSD 240 Go, Powered by Arch Linux.
Netbook : LDLC Mercure MA1-2-S Slim, Intel Celeron N2830, 2 Go de DDR3, SSD 60 Go, Powered by Arch Linux.
Euh, oui bash se contente d'écrire le résultat dans un fichier on est bien d'accord...
Sauf qu'ici tu demandes à bash de vider un fichier / d'en créer un nouveau vide, puis de lancer le programme, il le fait dans cet ordre !