LINUX : Extraire informations dans une ligne
farlane
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
A partir de cette ligne :
OFkVAA A87ZTRLa/wE 20110523 050123 026 FPSIT I XFER_RCV1 SYSTCNRP(113662) [1399096] begin receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096
Avec 4 commandes différentes, je souhaite extraire successivement les informations suivantes :
SYSTCNRP
CTPECPR0
/depot1/pesit/prod/2aspheria
00SUCNAP.40983_1399096
Merci d'avance pour votre aide.
Fred
A partir de cette ligne :
OFkVAA A87ZTRLa/wE 20110523 050123 026 FPSIT I XFER_RCV1 SYSTCNRP(113662) [1399096] begin receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096
Avec 4 commandes différentes, je souhaite extraire successivement les informations suivantes :
SYSTCNRP
CTPECPR0
/depot1/pesit/prod/2aspheria
00SUCNAP.40983_1399096
Merci d'avance pour votre aide.
Fred
A voir également:
- LINUX : Extraire informations dans une ligne
- Linux reader - Télécharger - Stockage
- Toutou linux - Télécharger - Systèmes d'exploitation
- Backtrack linux - Télécharger - Sécurité
- R-linux - Télécharger - Sauvegarde
- Linux mint 22.1 - Accueil - Linux
7 réponses
SYSTCNRP : egrep -o " [A-Z]*\(" | sed 's/(*//g'
CYTPECPR0 : grep -Eo " [A-Z]*[0-9], " | sed 's/,//g'
/depot1/pesit/prod/2aspheria : cut -d' ' -f16
00SUCNAP.40983_1399096 : sed 's/ /\n/g' | tail -1
CYTPECPR0 : grep -Eo " [A-Z]*[0-9], " | sed 's/,//g'
/depot1/pesit/prod/2aspheria : cut -d' ' -f16
00SUCNAP.40983_1399096 : sed 's/ /\n/g' | tail -1
Pour la 3ème solution ça ne marche pas.
ça me donne le résultat suivant:
"030" au lieu de "/depot1/pesit/prod/2aspheria"
Pour les 3 autres propositions ça marche nickel, il faut juste enlever le petit espace entre la guillemet et l'accolade : "[A-Z]....
Merci bien !
ça me donne le résultat suivant:
"030" au lieu de "/depot1/pesit/prod/2aspheria"
Pour les 3 autres propositions ça marche nickel, il faut juste enlever le petit espace entre la guillemet et l'accolade : "[A-Z]....
Merci bien !
Salut,
Pour la 3ème solution ça ne marche pas.
C'est normal, puisque tu as donné ton texte non-formaté dans ton 1er message
OFkVAA A87ZTRLa/wE 20110523 050123 026 FPSIT I XFER_RCV1 SYSTCNRP(113662) [1399096] begin receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096
Donc un seul espace entrer wE et 2011
Mais en réalité il y en a plusieurs espaces
C'est pour ça que c'est important de donner le bon format, soit en utilisant les balises codes soit en mettant le fichier sur cjoint par exemple
Pour la 3ème commande au lieu de 16 tu mets 27
Voici un exemple, où j'ai mis les deux lignes pour voir la différence
Avec -f16 (on voit bien 030 sur la 2ème ligne - celle qui est correcte)
Avec -f27 (rien pour la 1ère ligne, est c'est normal, il n'y a pas le 27ème champ)
Pour la 3ème solution ça ne marche pas.
C'est normal, puisque tu as donné ton texte non-formaté dans ton 1er message
OFkVAA A87ZTRLa/wE 20110523 050123 026 FPSIT I XFER_RCV1 SYSTCNRP(113662) [1399096] begin receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096
Donc un seul espace entrer wE et 2011
Mais en réalité il y en a plusieurs espaces
OFkVAA A87ZTRLa/wE 20110523 050150 030 FPSIT I XEND_RCV1 SYSTCNRP(113662) [1399096] end receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096
C'est pour ça que c'est important de donner le bon format, soit en utilisant les balises codes soit en mettant le fichier sur cjoint par exemple
Pour la 3ème commande au lieu de 16 tu mets 27
Voici un exemple, où j'ai mis les deux lignes pour voir la différence
Avec -f16 (on voit bien 030 sur la 2ème ligne - celle qui est correcte)
lami20j@debian-acer:~$ cat plop OFkVAA A87ZTRLa/wE 20110523 050123 026 FPSIT I XFER_RCV1 SYSTCNRP(113662) [1399096] begin receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096 OFkVAA A87ZTRLa/wE 20110523 050150 030 FPSIT I XEND_RCV1 SYSTCNRP(113662) [1399096] end receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096 lami20j@debian-acer:~$ cut -d' ' -f16 plop /depot1/pesit/prod/2aspheria 030
Avec -f27 (rien pour la 1ère ligne, est c'est normal, il n'y a pas le 27ème champ)
lami20j@debian-acer:~$ cat plop OFkVAA A87ZTRLa/wE 20110523 050123 026 FPSIT I XFER_RCV1 SYSTCNRP(113662) [1399096] begin receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096 OFkVAA A87ZTRLa/wE 20110523 050150 030 FPSIT I XEND_RCV1 SYSTCNRP(113662) [1399096] end receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096 lami20j@debian-acer:~$ cut -d' ' -f27 plop /depot1/pesit/prod/2aspheria
Salut,
;-))
$ echo $A OFkVAA A87ZTRLa/wE 20110523 050123 026 FPSIT I XFER_RCV1 SYSTCNRP(113662) [1399096] begin receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096 $ echo $A | awk 'BEGIN{FS="[ (,:]"}{ printf $9"\n"$15"\n"$19"\n"$20"\n" }' SYSTCNRP CTPECPR0 /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Désolé, voici le résultat demandé:
OFkVAA A87ZTRLa/wE 20110523 050150 030 FPSIT I XEND_RCV1 SYSTCNRP(113662) [1399096] end receiving to CTPECPR0, file: /depot1/pesit/prod/2aspheria 00SUCNAP.40983_1399096