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

Unix Discussion :

grep et retours à la ligne dans le fichier de sortie


Sujet :

Unix

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut grep et retours à la ligne dans le fichier de sortie
    Bonjour à tou(te)s !

    J'essaye de retrouver des informations dans des fichiers de log contenus dans un répertoire.
    L'objectif est de créer un fichier resultats.txt contenant les résultats de la recherche.

    J'ai découvert à cette occasion le formidable outil grep qui m'a bien permis de réaliser cela, mais je ne le maîtrise pas très bien et mon problème est le suivant :

    Mon fichier de sortie resultats.txt ne possède aucun retour à la ligne : les résultats sont affichés les uns à la suite des autres.
    La lecture par un être humain est de ce fait assez fastidieuse. J'aurais donc souhaité savoir si il y avait une solution simple pour qu'entre chaque résultats, un retour à la ligne soit effectué.

    Voici ma commande actuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -r 'marecherche' >> resultats.txt
    Merci d'avance pour votre aide !

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    grep affiche les retours à la ligne qu'il trouve dans les fichiers où la recherche est effectuée. Peut-être travailles-tu sous Windows ?

    Dans ce cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -r 'marecherche' | unix2dos >> resultats.txt
    ɹǝsn *sıɹɐlos*

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour jlliagre et merci beaucoup pour ta réponse,

    Je suis sous Linux (Debian) et non sur Windows, la commande que tu m'as indiquée me renvoi donc :
    -bash: unix2dos : commande introuvable



    Si quelqu'un a une autre idée, je suis preneur !
    Merci d'avance !

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Si grep n'affiche pas de retour à la ligne, c'est qu'il n'y en a pas dans les fichiers origine, ou alors, explique mieux le problème avec des exemples de contenu de fichier en entrée et le résultat obtenu.
    ɹǝsn *sıɹɐlos*

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 286
    Points : 12 742
    Points
    12 742
    Par défaut
    Bonjour,
    Avec quoi tu ouvres ensuite ton fichier resultat.txt ?
    Si c'est avec le notepad original de windows, ton problème vient de là et la solution de jlliagre est bien la bonne (unix2dos existe bien sous linux, suffit juste d'installer le package)
    Sinon, une solution (pour dépanner) juste pour transformer les fins de ligne au format dos est d'utiliser par exemple sed, exemple en reprenant le principe donner par jlliagre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -r 'marecherche' | sed -e 's/\r*$/\r/' >> resultats.txt
    Mais unix2dos est dans le principe plus adapté car il permet aussi de modifier l'encodage des caractères accentués pour les rendre compatible windows.
    Cordialement.

Discussions similaires

  1. Retour à la ligne dans un fichier .js
    Par mlny84 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/01/2008, 10h52
  2. supression de retour à la ligne dans un fichier
    Par piotr dans le forum Langage
    Réponses: 4
    Dernier message: 08/10/2007, 14h51
  3. [XSLT] retour à la ligne dans un fichier texte
    Par SylMat dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/03/2007, 11h39
  4. retour à la ligne dans un fichier texte
    Par pierrOPSG dans le forum C
    Réponses: 3
    Dernier message: 14/04/2006, 18h04
  5. retoure à la ligne dans un fichier
    Par adilou1981 dans le forum Langage
    Réponses: 4
    Dernier message: 02/12/2004, 15h05

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