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 :

Problème de SED


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
    Novembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 166
    Par défaut Problème de SED
    Bonjour,
    j'ai un fichier qui contient:

    /formation/user2/unividv3.sas:%macro menuhr(2) ;
    /formation/user2/unividv3.sas:%macro menuin(progcib,cadre,id) ;
    /formation/user2/unividv3.sas:%MACRO deterpar;
    /formation/user2/unividv3.sas:%MACRO exisctxt;
    /formation/user2/unividv3.sas:%macro errCheck;
    /formation/user2/unividv3.sas:%macro affi (tot);
    je veux garder que ceux qui ne contient pas des parenthèses
    et ceux qui contient des parenthèses avec un chiffre à l'interieur:

    j'ai essayé la commande suivante: mais
    elle m'affiche pas ce que je veux.

    voila ce que jeveux exactement:
    /formation/user2/unividv3.sas:%macro menuhr(2) ;
    /formation/user2/unividv3.sas:%MACRO deterpar;
    /formation/user2/unividv3.sas:%MACRO exisctxt;
    /formation/user2/unividv3.sas:%macro errCheck;
    Merci

  2. #2
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    salut melmouj,


    tu vas nous faire faire tous tes devoirs ?

    tu pourrais au moins prendre la peine de répondre à tes anciens posts... merci


  3. #3
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut
    bonjour,
    Dans ton cs je pense que grep est mieux approprié car tu veux juste filtré le fichier et non le
    modifier.

    narma@linimi:/tmp$ cat toto.txt
    /formation/user2/unividv3.sas:%macro menuhr(2) ;
    /formation/user2/unividv3.sas:%macro menuin(progcib,cadre,id) ;
    /formation/user2/unividv3.sas:%MACRO deterpar;
    /formation/user2/unividv3.sas:%MACRO exisctxt;
    /formation/user2/unividv3.sas:%macro errCheck;
    /formation/user2/unividv3.sas:%macro affi (tot);
    narma@linimi:/tmp$ cat toto.txt |grep -vE "\([^0-9]+\) *;"
    /formation/user2/unividv3.sas:%macro menuhr(2) ;
    /formation/user2/unividv3.sas:%MACRO deterpar;
    /formation/user2/unividv3.sas:%MACRO exisctxt;
    /formation/user2/unividv3.sas:%macro errCheck;

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 166
    Par défaut PB de sed
    oui je sais que c'est plus simple avec une petite grep on a ce qu'on veut.
    mais malheresement pas ça ce que je veux;

    je veux recuperer toute les lignes avec les parenthèses qui contiennent un nombre et pas ceux qui contiennent autre chose que les nombres.



    Citation Envoyé par narmataru
    bonjour,
    Dans ton cs je pense que grep est mieux approprié car tu veux juste filtré le fichier et non le
    modifier.

    narma@linimi:/tmp$ cat toto.txt
    /formation/user2/unividv3.sas:%macro menuhr(2) ;
    /formation/user2/unividv3.sas:%macro menuin(progcib,cadre,id) ;
    /formation/user2/unividv3.sas:%MACRO deterpar;
    /formation/user2/unividv3.sas:%MACRO exisctxt;
    /formation/user2/unividv3.sas:%macro errCheck;
    /formation/user2/unividv3.sas:%macro affi (tot);
    narma@linimi:/tmp$ cat toto.txt |grep -vE "\([^0-9]+\) *;"
    /formation/user2/unividv3.sas:%macro menuhr(2) ;
    /formation/user2/unividv3.sas:%MACRO deterpar;
    /formation/user2/unividv3.sas:%MACRO exisctxt;
    /formation/user2/unividv3.sas:%macro errCheck;


    moi j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    sed 's/(.*$//g' fic2
    mais ce que je veux est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    formation/user2/unividv3.sas:%macro menuhr(2) ;
    /formation/user2/unividv3.sas:%macro menuin;
    /formation/user2/unividv3.sas:%MACRO deterpar;
    /formation/user2/unividv3.sas:%MACRO exisctxt;
    /formation/user2/unividv3.sas:%macro errCheck;
    /formation/user2/unividv3.sas:%macro affi ;

  5. #5
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Donc reformulons ton problème s'il te plaît.

    Ce que tu veux c'est :
    supprimer toutes les chaînes de caractères délimitées par des parenthèses qui contiennent autre chose qu'uniquement des chiffres.

    C'est ça ?
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 166
    Par défaut PB SED
    voila c'est ça.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 111
    Par défaut
    Avec un one liner perl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat toto.txt | perl -ne 's/\(\D+\)//g;print'

  8. #8
    Membre confirmé Avatar de dervish
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 100
    Par défaut
    Salut,
    sinon, tu as:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cat liste | sed 's/([^[:digit:]]*)$//'

Discussions similaires

  1. Proble capture direct Show
    Par liliemumue dans le forum DirectX
    Réponses: 3
    Dernier message: 13/12/2004, 21h04
  2. Extraire une valeur d'une ligne avec sed
    Par jojolepabo dans le forum Linux
    Réponses: 6
    Dernier message: 27/10/2004, 09h34
  3. Makefile et sed
    Par pitistef dans le forum Systèmes de compilation
    Réponses: 7
    Dernier message: 10/02/2004, 15h06
  4. [langage] awk et sed dans script perl
    Par scoti dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2003, 18h26
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

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