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 POSIX Discussion :

Grep avec regex non fonctionnel AIX


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 10
    Par défaut Grep avec regex non fonctionnel AIX
    Bonjour,

    Je galère avec un grep et 2 regex, je ne comprends pas pourquoi, je suis sur AIX.

    Mon fichier contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ######3743910066006078766101########################################################################################################################0000006469F4#################0000010007022022010120221231###################################################################F############################################################################################################################################################################################01####7#100####4#80####2#########150##################02####################################################03####################################################049#130#####150#######################################05##150###############################################06##F#################################################07###30######50#######################################08##60##############60############15##################090###################################################1021F###########60####################################11###50###############################################12F360##############60##########15####################130###################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00###############################################################################################################################################################################5##############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################000000000000702##F000001###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
    Ma commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat recherche | sed 's/[^0-9F]/#/g' | grep -E '^.{158}F4' | grep -E '^.{1110}13'
    Elle ne fonctionne pas.
    Pourtant le premier grep fonctionne mais pas le second.
    Est-ce un problème de buffer ? ou alors c'est trop loin dans la ligne ?

    Autre test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -ne 'print if m/^.{1110}13/'
    recherche => ne fonctionne pas également alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -ne 'print if m/^.{158}F4/'
    = recherche fonctionne

    Merci

  2. #2
    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,

    le 13 est à la position 1110 et 1111, mais il y a 1109 caractères avant, pas 1110.
    et le F est à la position 159.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ sed -E 's/^.{1109}//' recherche.txt                                                                                                                                                                            
    130#########################...
    ici, pour l'exemple, je supprime les 1109 premiers caractères.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 10
    Par défaut
    Bonjour,

    Sur Linux peut être mais pas sur AIX !
    J'ai essayé bien entendu de changer les positions.
    Sachant que le premier grep fonctionne bien, donc que je suis à la bonne position !!

    En gros si je reprends ton sed, il ne fait rien, il affiche tout le fichier recherche.txt au lieu de supprimer le début !

    Pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    oslevel -s
    7100-05-06-2028

  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
    et comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/^.\{1109\}//' recherche.txt
    ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     sed 's/^.\{1109\}//' recherche.txt
    sed: Function s/^.\{1109\}// cannot be parsed.
    J'avais oublié de préciser que n'existe pas sur AIX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed: illegal option -- E

  6. #6
    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
    je dirais que le pauvre sed d'AIX ne supporte pas les intervalles.
    il n'existe pas un "gsed" (GNU sed) sur AIX ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    Citation Envoyé par N_BaH
    il y a 1109 caractères avant, pas 1110.
    Citation Envoyé par popol55
    Sur Linux peut être mais pas sur AIX !
    Citation Envoyé par Flodelarab
    Dans ton exemple posté, en tout cas, cela marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cat recherche | sed 's/[^0-9F]/#/g' | grep -E '^.{158}F4' | grep -E '^.{1109}13'
    ######3743910066006078766101########################################################################################################################0000006469F4#################0000010007022022010120221231###################################################################F############################################################################################################################################################################################01####7#100####4#80####2#########150##################02####################################################03####################################################049#130#####150#######################################05##150###############################################06##F#################################################07###30######50#######################################08##60##############60############15##################090###################################################1021F###########60####################################11###50###############################################12F360##############60##########15####################130###################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00####################################################00###############################################################################################################################################################################5##############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################000000000000702##F000001###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

Discussions similaires

  1. Regex non fonctionnelles
    Par Jess86 dans le forum Langage
    Réponses: 17
    Dernier message: 03/04/2015, 17h22
  2. [Débuter] Exemples Qt Quick avec menu non fonctionnel
    Par PerryDev dans le forum Qt Quick
    Réponses: 0
    Dernier message: 06/05/2014, 18h04
  3. grep avec parenthèses non capturantes
    Par Tchupacabra dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 23/09/2013, 12h19
  4. regex non fonctionnelle
    Par patator63 dans le forum Requêtes
    Réponses: 2
    Dernier message: 24/04/2011, 00h01
  5. Problème avec regex non trouvé
    Par Damien69 dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2008, 13h32

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