Extraction de chaine avec SED ou autre
Résolu/Fermé
alx
-
12 nov. 2008 à 11:22
alx13 Messages postés 9 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 13 novembre 2008 - 13 nov. 2008 à 15:01
alx13 Messages postés 9 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 13 novembre 2008 - 13 nov. 2008 à 15:01
A voir également:
- Sed extraire chaine entre deux motifs
- Extraire une video youtube - Guide
- Chaine tnt gratuite sur mobile - Guide
- Extraire son video - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
- Deux ecran pc - Guide
8 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
12 nov. 2008 à 19:20
12 nov. 2008 à 19:20
Salut,
Je ne comprends pas ton problème !?
Un simple :
Je ne comprends pas ton problème !?
Un simple :
sed 's/opcgts=/ /' ${FichierTrace}ne suffit pas ?
alx13
Messages postés
9
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
13 novembre 2008
13 nov. 2008 à 09:30
13 nov. 2008 à 09:30
FIN===============================^Jopcgts=8: 0403-057 Syntax error
ben non ça ne suffit pas, comment tu fais pour extraire que le 8, sans tout le reste???,
sed 's/opcgts=/ /' ${FichierTrace} va me mettre un jolie espace a la place de ma chaîne, c'est tout :(
ben non ça ne suffit pas, comment tu fais pour extraire que le 8, sans tout le reste???,
sed 's/opcgts=/ /' ${FichierTrace} va me mettre un jolie espace a la place de ma chaîne, c'est tout :(
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 nov. 2008 à 10:16
13 nov. 2008 à 10:16
Ben explique alors ce que tu veux vraiment : avant => après !!!
Parce que si je m'en tiens à tes explications et ta syntaxe qui marche :
grep -e "opcgts=" ${FichierTrace} | sed 's/opcgts=/ /' | read poubelle OpcGtsID
grep -e "opcgts=" ${FichierTrace} ça affiche bien que ta ligne ?
| sed 's/opcgts=/ /' substitue "opcgts=" par un espace ?
read poubelle OpcGtsID récupère 2 variables ?
Donc que sont sensées contenir ces 2 variables ???
Parce que si je m'en tiens à tes explications et ta syntaxe qui marche :
grep -e "opcgts=" ${FichierTrace} | sed 's/opcgts=/ /' | read poubelle OpcGtsID
grep -e "opcgts=" ${FichierTrace} ça affiche bien que ta ligne ?
| sed 's/opcgts=/ /' substitue "opcgts=" par un espace ?
read poubelle OpcGtsID récupère 2 variables ?
Donc que sont sensées contenir ces 2 variables ???
alx13
Messages postés
9
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
13 novembre 2008
13 nov. 2008 à 10:28
13 nov. 2008 à 10:28
oui ça affiche bien ma ligne, mais je n'ai qu'une ligne dans ce fichier quand il est mal formaté
avec des ^J, des ^I, et des espaces un peu partout..... :/
donc le grep me renvois toute la ligne (et encore j'ai de la chance dans mon cas je suis a - de 2048 caractère, après grep ne sait pas lire les lignes plus longues :/)
mon problème c'est juste quand le fichier est mal formaté, quand c'est sur plusieurs ligne, je sais faire :p
enfin, j'espère que cette fois ci, j'ai ete un peu plus clair :/
en tout cas merci pour ton aide jipicy
avec des ^J, des ^I, et des espaces un peu partout..... :/
donc le grep me renvois toute la ligne (et encore j'ai de la chance dans mon cas je suis a - de 2048 caractère, après grep ne sait pas lire les lignes plus longues :/)
mon problème c'est juste quand le fichier est mal formaté, quand c'est sur plusieurs ligne, je sais faire :p
enfin, j'espère que cette fois ci, j'ai ete un peu plus clair :/
en tout cas merci pour ton aide jipicy
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 nov. 2008 à 10:31
13 nov. 2008 à 10:31
Plus clair ? Non ;-((
Tu veux quoi en sortie exactement ???
Tu veux quoi en sortie exactement ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
alx13
Messages postés
9
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
13 novembre 2008
13 nov. 2008 à 10:43
13 nov. 2008 à 10:43
le 8 de cette ligne "FIN===============================^Jopcgts=8: 0403-057 Syntax error "
:)
:)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 nov. 2008 à 12:50
13 nov. 2008 à 12:50
sed -n 's/.*opcgts=\(.\).*/\1/p' fich:-))
alx13
Messages postés
9
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
13 novembre 2008
13 nov. 2008 à 13:35
13 nov. 2008 à 13:35
trop facile jipicy!!
ça serait abusé d'avoir une explication détaillé? :p
sed
-n --> pour n'afficher que le résultat en somme
's --> substitution
.*opcgts= -->du premier caractère jusqu'a la chaine?
\(.\).*/ -->?
\1 --> renvoyer 1 seul caractère ?
/p' --> le faire 1 seul fois?
en tout cas merci :)
ça serait abusé d'avoir une explication détaillé? :p
sed
-n --> pour n'afficher que le résultat en somme
's --> substitution
.*opcgts= -->du premier caractère jusqu'a la chaine?
\(.\).*/ -->?
\1 --> renvoyer 1 seul caractère ?
/p' --> le faire 1 seul fois?
en tout cas merci :)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 nov. 2008 à 14:12
13 nov. 2008 à 14:12
sed
-n --> pour n'afficher que le résultat surdemande conjointement avec l'option "p"
's --> substitution
.*opcgts= -->du premier caractère jusqu'a la chaine?
\(.\).--> sous-chaine de caractères mise en correspondance pour la référence arrière (ici un seul caractère symbolisé par le point)
.* -> le reste de la ligne
\1 --> référence arrière à afficher (ici la 1ère et unique=
/p' --> affichage demandé
Voir dans la FAQ: Les sous-expressions et références arrières
-n --> pour n'afficher que le résultat surdemande conjointement avec l'option "p"
's --> substitution
.*opcgts= -->du premier caractère jusqu'a la chaine?
\(.\).--> sous-chaine de caractères mise en correspondance pour la référence arrière (ici un seul caractère symbolisé par le point)
.* -> le reste de la ligne
\1 --> référence arrière à afficher (ici la 1ère et unique=
/p' --> affichage demandé
Voir dans la FAQ: Les sous-expressions et références arrières
alx13
Messages postés
9
Date d'inscription
mercredi 12 novembre 2008
Statut
Membre
Dernière intervention
13 novembre 2008
13 nov. 2008 à 15:01
13 nov. 2008 à 15:01
donc ça sers à ça une référence arrière aaaaahhhhhh
bon merci, je vais relire ça dessuite
bon merci, je vais relire ça dessuite