IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Commande tail et head


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Par défaut Commande tail et head
    Bonjour tout le monde,

    En ce moment je prépare un script qui va me permettre de récupérer les 5 premières et les 5 dernières lignes d'un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #!/bin/sh
    dirpath="/home"
    extrait_entete(){
            echo $1":"
            entete=`head -5 $dirpath$1`
            echo $entete
    }
     
    extrait_fin(){
            echo "Extraction des 5 dernieres lignes"
            fin=`tail -5 $dirpath$1`
            echo $fin
    }
     
    extrait_entete test.log
    extrait_fin test.log
    Quand je lance mon script, le résultat n'est pas le même que lorsque je tape la commande depuis le shell.

    ex:
    Avec le script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Extraction des 5 dernieres lignes
     --------------------------------------------------------------------------------------------------------ors)
    Depuis le shell:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    tail -5 test.log
     
    --------------------------------------------------------------------------------------------------------
    ----- END test log 2011-07-04 23:08:32 Paris, Madrid (0 warnings, 0 errors, 0 fatal errors)
    --------------------------------------------------------------------------------------------------------
    Est-ce que quelqu'un pourrait m'éclairer car là je ne comprends pas?

    merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Peut-être en ajoutant un séparateur de chemin entre $dirpath et $1...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Par défaut
    Non ça ne change rien.

    Avec le séparateur, il me sort une erreur de fichier introuvable.

    alors j'ai supprimé la variable dirpath pour voir mais non toujours pareil

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    Bonjour,

    utilise des guillemets :ou n'utilise pas de variables :mais je ne suis pas certain que ce que tu nous montres est réellement ce qu'il y a dans ton script : la surcharge de la ligne affichée fait penser à une erreur de formatage de printf...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Par défaut
    A priori j'ai trouvé le problème.

    J'utilise putty pour me connecter sur le serveur ou se trouve le script.
    et il semblerait que ce soit putty qui merdouille niveau affichage car sur le serveur, physiquement tout est ok.
    C'est vrai qu'en changeant la taille de la fenêtre la sortie écran diffère

    (le boulet...)


  6. #6
    Membre expérimenté
    Homme Profil pro
    Gérant infopsylon
    Inscrit en
    Juin 2010
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Gérant infopsylon
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2010
    Messages : 215
    Par défaut
    Bonjour,

    En même temps, N_Bah n'a pas tort...

    Lilian.

Discussions similaires

  1. [Batch] Comment faire les commandes "TAIL -1" et "cut"
    Par Sarco942 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 08/02/2013, 09h53
  2. Réponses: 1
    Dernier message: 30/11/2009, 11h09
  3. Limitation buffer commande tail
    Par ben_maury dans le forum Unix
    Réponses: 1
    Dernier message: 08/10/2009, 14h24
  4. [AJAX] Simuler la commande tail avec ajax et php.
    Par skea dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 05/03/2008, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo