Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les news > Tutoriels > Chapitre Linux : Les flux de redirection > Lecture d'une news

Commentaires de news :
Chapitre Linux : Les flux de redirection

Revenir à liste des news

Chapitre Linux : Les flux de redirection

# Par M@teo21, le 03/10/2008 à 18:23:48
Bonne nouvelle : je suis enfin venu à bout du chapitre du cours sur Linux que j'annonçais précédemment sur les flux de redirection !
Il s'agit d'un des chapitres-clé de tout le tutoriel. Pourquoi ?

Image utilisateur
2) Les flux de redirection

Dans ce chapitre, vous allez découvrir que vous êtiez entourés de flux sans le savoir : des flux d'entrée, des flux de sortie, des flux d'erreurs...
Dans la console, tout transite dans des "tuyaux" bien précis. Jusqu'ici, nous n'avions jamais manipulé ces fameux tuyaux et nous avons laissé les choses se faire par défaut : les résultats s'affichaient le plus souvent dans la console.

Désormais, vous allez être capables de rediriger le résultat non pas dans la console mais dans un fichier ou encore dans une autre commande. Vous pourrez ainsi manipuler ce résultat pour le transformer de commande en commande et ainsi obtenir le résultat précis que vous souhaitiez, en réalisant une "chaîne de commandes".



Vous devriez être en mesure d'effectuer un bon nombre d'expériences après avoir lu ce chapitre. Je vous y encourage vivement : cela vous entraînera à manipuler les flux et vous en aurez besoin pour la suite !

Ce type de commandes ne devrait donc plus vous faire peur : sudo grep log -Ir /var/log  | cut -d : -f 1  | sort | uniq > loglist 2>&1. C'est à la portée de tout le monde : lisez et vous comprendrez cette ligne. :)

37 Commentaires

Désolé, les commentaires de cette news sont désactivés, vous ne pouvez pas en ajouter !

Page : 1  2  Suivante
Pseudo Commentaire
1 visiteur sur cette news (0 membre et 1 anonyme)
Page : 1  2  Suivante
Hors ligne Natim # Posté le 03/10/2008 à 18:24:11
Apprendre à coder c'est coder
Avatar
Groupe : Membres
Bravo :)

Image utilisateur
 
Hors ligne Dthibault # Posté le 03/10/2008 à 18:25:50
Avatar
Groupe : Membres
C'est normal qu'on a pas le droit de le lire?
Ok, super tuto comme d'hab :)
Hors ligne MaSaX # Posté le 03/10/2008 à 18:25:57
Volonté = Réussite
Avatar
Groupe : Membres
Enfin ^^
Hors ligne meudon41 # Posté le 03/10/2008 à 18:26:40
Avatar
Groupe : Membres
Bravo pour ce super tutoriel qui est absolument indispensable sur un site indispensable.

Seul le geek comprend pourquoi la peugeot 404 existe pas.
 
Hors ligne LkY # Posté le 03/10/2008 à 18:27:57
Kubuntuuuuu...
Avatar
Groupe : Membres
Super ! le suite du tuto linux ! Je le lirai plus tard :p

Petite erreur dans le lien, ça redirige pas au bon endroit visiblement... ^^

Image utilisateur
Un Design Pro, Rapide et... Gratuit !! :waw:
Commande réalisée rapidement et dans la bonne humeur sur Heaven Design ! ;)
Heaven-Design v3 : 50% - Tuto espace membre : 50% (VALIDE !!)
 
Hors ligne M@teo21 # Posté le 03/10/2008 à 18:28:00
Doh ! Nuts. Mmh, donuts !
Avatar
Admins
Citation : Dthibault
C'est normal qu'on a pas le droit de le lire?


Désolé, fausse manip, c'est réglé. :)

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
En ligne Squ@bad' # Posté le 03/10/2008 à 18:29:19
Rock and roll !
Avatar
Groupe : Membres
bonne nouvelle :)
 
Hors ligne sanpoupi # Posté le 03/10/2008 à 18:34:40
Steam Ami : Xp4Falco
Avatar
Groupe : Membres
ofmg only 40 %
Mon dieux ca fait beaucoup

J'adore les FPS
Vive l'orange Box
TFC PGM(à l'époque j'étais 89eme mondial).
Xp4-Falco Sur TeeWorlds et sur UT 2004(ouais je sais suis a la bourre mais shuis bon dessus donc je garde)
Image utilisateur
 
Hors ligne Takeo Otori # Posté le 03/10/2008 à 18:38:11
Avatar
Groupe : Membres
Bien. Bien ^^ .
 
Hors ligne Barbatos # Posté le 03/10/2008 à 18:51:43
PHP Beginner :x
Avatar
Groupe : Membres
Good job ! :)

Image utilisateur
 
Hors ligne Trashjedi # Posté le 03/10/2008 à 18:54:06
Avatar
Groupe : Membres
Excellent! J'attends toujours avec impatience les chapitres linux!
Console, Me voici! ^^
 
En ligne Fido # Posté le 03/10/2008 à 18:56:36
Si je dis Jeudi je dis Jeudi !
Avatar
Groupe : Membres
Bon bah, bonne lecture à tous ^^ !

... Fido, Flog & Dance! ;)
 
Hors ligne Nakio # Posté le 03/10/2008 à 19:04:59
C != C++
Avatar
Groupe : Membres
C'est vrai que ça fait un peu peur quand même, mais qu'a celà ne tienne lisons encore un magnifique chapitre de tonton M@teo21 !

Merci !

Age: 15ans
Profession: Lycéen à mes heures perdu.
Passions: Amis, Guitare, Parapente, Programmation
Musique: Mon groupe: Spiritual Popcorn
Langages: C/C++, xHTML, PHP, et d'autres...
OS: Ubuntu 8.04 / Windows XP Coccinelle
 
Hors ligne pipic # Posté le 03/10/2008 à 19:05:50
Oups !
Avatar
Groupe : Membres
Enfin ! Linux revient ! ^^


je maitrise: le XHTML/CSS
j'apprend: le PHP/MySQL et le Javascript
Etre (riche) ou ne pas être (riche) telle est (la vraie) question. :p
Baltahzar Picsou
Merci de ne pas cliquer ici
Ici non plus d'ailleurs
Vous savez ce qui ne vous reste à ne pas faire !















 
Hors ligne manslipkorn # Posté le 03/10/2008 à 19:12:09
Avatar
Groupe : Membres
Encore une fois, excellent chapitre, BRAVO à toi M@teo.

Juste une petite coquille
Citation : M@teo
En fait, le sybmole 2>&1 va envoyer les erreurs dans le même fichier et de la même façon que la sortie standard. Donc, si vous écrivez : cut -d , -f 1 fichier_inexistant.csv >> eleves.txt 2>&1
... les erreurs seront ajoutées à la fin du fichier eleves.txt comme le reste des messages.
Hors ligne julien.skywalker # Posté le 03/10/2008 à 19:16:37
apt-get moo true fan ...
Avatar
Groupe : Membres
A 27 jours de La sortie de Ubuntu 8.10, un nouveau tuto... magnifique! ;)

Visual effects work is never done, it’s only abandoned.
(Les effets visuels ne sont jamais terminés, ils sont juste abandonnés)

 
Hors ligne Xhtml_boys # Posté le 03/10/2008 à 19:20:29
Psychopate Suicidaire
Avatar
Groupe : Membres
Waw, excellent :o
Juste par curiosité, quel sera le sujet du prochain tuto ?

Au mon dieu, un noelliste ! Image utilisateur
Stoppons !! (la POP-programmation, anti-windows, ...) Pour en savoir plus ( la bio de Gambit2099 )
3:52 : cette heure est memorable, c'est l'heure ou superMinirop a bannis le pire des boulays :)
 
Hors ligne -¤elozone- # Posté le 03/10/2008 à 19:21:14
Avatar
Groupe : Membres
Super !
Merci beaucoup M@teo ! J'attendais la suite avec impatience...

Y a que les imbéciles qui changent pas d'avis.
Image utilisateur
 
Hors ligne raphamil # Posté le 03/10/2008 à 19:40:12
Avatar
Groupe : Membres
Je viens juste de commencer à lire le chapitre, et il me semble que tu aies oublié le `, non ?

Code : Console - exemple
g++ *.h *.cpp `wx-config --libs --cxxflags`

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne dorian-do # Posté le 03/10/2008 à 20:51:27
cap de cliquer sur mon image ?
Avatar
Groupe : Membres
Je viens d'installer ubuntu, dès que le wifi fonctionne je lis le tuto à fond ^^

Image utilisateur
 
Hors ligne M3t4Linux # Posté le 03/10/2008 à 22:50:51
Avatar
Groupe : Membres
Whaouuuu!!! je m'accroche au siège, ça décolle ;) :)

@dorian-do, tu as des soucis avec Ndiswrapper??

Merci à m@teo21 une fois de plus!!

On commence à vieillir quand on finit d'apprendre :)
Ne pas réussir n'est pas un échec mais un apprentissage :D
Image utilisateur
Image utilisateur


 
Hors ligne kami-sama # Posté le 03/10/2008 à 23:15:35
boku wa dare dai biku wa rambo
Avatar
Groupe : Membres
l'ajout d'un nouveaux tuto fait par m@teo est toujours une bonne nouvel,

merci pour se tuto que je lirais dans la nuit.

boku wa dare dai boku wa rambo kimi wa dare dai kimi wa rambo
 
Hors ligne Bachir ElMagnifico # Posté le 03/10/2008 à 23:17:40
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
super, j'attendfais avec impatience

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne raphamil # Posté le 03/10/2008 à 23:35:38
Avatar
Groupe : Membres
Tiens je viens de recréer wc -cl,

Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <stdlib.h>

size_t compteLignes(FILE* f) {
	rewind(f); //Remet le pointeur de f à 0 
	size_t t = 0; //Taille
	int c; //Caractère pour le parcours du fichier
	while ((c = fgetc(f)) != EOF) { if (c == '\n') t++; }
	return t;
}

size_t compteCaracs(FILE* f) {
	rewind(f); //Remet le pointeur de f à 0
	size_t t = 0; //Taille
	while (fgetc(f) != EOF) t++;
	return t;
}

int main (int argc, const char* argv[]) {
	const char formatPrint[] = "%5ld %8ld %s\n";

	if (argc > 1) {
		size_t totalLignes = 0, totalOctects = 0, i = 1;
		for(; i < argc; i++) {
			FILE* f = fopen(argv[i], "r");
			if (f != NULL) {
				const size_t TEMP_LIGNES = compteLignes(f), TEMP_OCTECS = compteCaracs(f);
				totalLignes += TEMP_LIGNES;
				totalOctects += TEMP_OCTECS;
				printf(formatPrint, TEMP_LIGNES, TEMP_OCTECS, argv[i]);
				fclose(f);
			}
			else fprintf(stderr, "Error : file \"%s\" doesn't exist\n", argv[i]);
		}
		printf(formatPrint, totalLignes, totalOctects, "total");
	} else
		printf(formatPrint, compteLignes(stdin), compteCaracs(stdin), "total (standard input)");

    return 0;
}


Il y a une différence de comportement (nombre de lignes) ("test" étant un fichier quelconque) :

Code : Console
build/Debug/wc_ < test
    2       17 total (standard input)


Code : Console
cat test | build/Debug/wc_
    0       17 total (standard input)

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne wgmpgp # Posté le 03/10/2008 à 23:51:09
Rotoclap true fan
Avatar
Groupe : Membres
Je doute que rewind(stdin) soit autorisé.
 
Hors ligne raphamil # Posté le 03/10/2008 à 23:54:15
Avatar
Groupe : Membres
Comme ça tu penses que ce serait mieux comme ça ?

Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <stdlib.h>

size_t compteLignes(FILE* f) {
    if (f != stdin) rewind(f); //Remet le pointeur de f à 0 
    size_t t = 0; //Taille
    int c; //Caractère pour le parcours du fichier
    while ((c = fgetc(f)) != EOF) { if (c == '\n') t++; }
    return t;
}

size_t compteCaracs(FILE* f) {
    if (f != stdin) rewind(f); //Remet le pointeur de f à 0
    size_t t = 0; //Taille
    while (fgetc(f) != EOF) t++;
    return t;
}

int main (int argc, const char* argv[]) {
    const char formatPrint[] = "%5ld %8ld %s\n";

    if (argc > 1) {
        size_t totalLignes = 0, totalOctects = 0, i = 1;
        for(; i < argc; i++) {
            FILE* f = fopen(argv[i], "r");
            if (f != NULL) {
                const size_t TEMP_LIGNES = compteLignes(f), TEMP_OCTECS = compteCaracs(f);
                totalLignes += TEMP_LIGNES;
                totalOctects += TEMP_OCTECS;
                printf(formatPrint, TEMP_LIGNES, TEMP_OCTECS, argv[i]);
                fclose(f);
            }
            else fprintf(stderr, "Error : file \"%s\" doesn't exist\n", argv[i]);
        }
        printf(formatPrint, totalLignes, totalOctects, "total");
    } else
        printf(formatPrint, compteLignes(stdin), compteCaracs(stdin), "total (standard input)");

    return 0;
}

(\__/)
(/¤.¤\) <= Lapinator ! ^^
('')|('')
Exécuter plusieurs fonctions au chargement d'une pageUne horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt
72.73% apple-geek
 
Hors ligne wgmpgp # Posté le 03/10/2008 à 23:56:56
Rotoclap true fan
Avatar
Groupe : Membres
Les forums n'existent plus ? Zut alors.
 
Hors ligne webshinra # Posté le 04/10/2008 à 00:08:22
en plus, j'aime pas les nains
Avatar
Groupe : Membres
chut les commentaire pour ce genre de news n'ont pas d'intérêt particulier a la base, alors bon, tant qu'a faire...

Au royaume des aveugles les borgnes sont rois
Image utilisateur
 
En ligne SdT # Posté le 04/10/2008 à 00:20:07
www.brightmarks.fr
Avatar
Groupe : Membres
Un chapitre supplémentaire sur Linux, que du bon.
Continue comme ça M@teo21. ;)

BrightMarks v2 : Des évolutions permanentas !
N'hésitez-pas à visiter le site et participer à la communauté;

D'avance, merci. ;)
 
Hors ligne david96 # Posté le 04/10/2008 à 04:09:18
Avatar
Groupe : Membres
Citation : Trashjedi
Excellent! J'attends toujours avec impatience les chapitres linux!
Console, Me voici! ^^

+1 Marchi M@teo ! :D
 

Désolé, les commentaires de cette news sont désactivés, vous ne pouvez pas en ajouter !

Revenir à liste des news

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 507 Zéros connectés | Requêtes SQL 5 requêtes | Temps de génération de la page : Total (SQL) 0.2394s (0.2214s)