Bonjour,
cat toto.txt | grep "machin" | wc -w
Cette suite de commande est une ineptie. La seule bonne ecriture est :
grep "machin" toto.txt | wc -w
Ensuite, pour ecrire un programme C equivalent, il faut comprendre ce que font ces commandes. Les pages de man sont la pour t'aider.
Ensuite, il faut voir comment tu veux le faire en C : si tu veux tout faire, cela te demande de savoir gerer les fichiers et les chaines de caracteres, ainsi que bien sur toutes les bases du C.
Sinon, tu parles de tube. Cela voudrait dire que tu ne souhaites pas avoir un programme C te donnant le resultat de l'enchainement de ces commandes, mais deux programmes qui communiqueraient par un tube. Aux prerequis precedents, il faut donc ajouter la notion de communication inter-process.
Je pense que le niveau de C demande est assez eleve, et je ne suis pas certain que tu aies les bases suffisantes pour te lancer la dedans.
[EDIT]
Apres lecture de l'enonce, il suffit de faire un programme simple qui appelle grep et wc via execvp, et qui arrive a chainer la sortie du premier sur l'entree du second.
Pas besoin de triturer les fichiers, mais le besoin sur les pipes est toujours la. Regarde les cours de http://c.developpez.com pour voir s'il n'y en aurait pas un sur les pipe.
Partager