Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1790 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [shell] comment récupérer 2 lignes

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[shell] comment récupérer 2 lignes

n°522983
skwee
Posté le 25-09-2003 à 10:11:02  profilanswer
 

Bonjour,
 
Je suis actuellement confronté au probleme suivant :  
 
J'ai a récupérer dans un fichier log une ligne comprenant COMPLETED ou ABORTED (jusque la, ca va) et egalement la ligne du dessus !!
 
Le but etant d'obtenir si possible sur la meme ligne (fichier en sortie) la ligne avec COMPLETED ou ABORTED et la ligne directement au dessus.
 
Merci de m'aider :)
 
 

mood
Publicité
Posté le 25-09-2003 à 10:11:02  profilanswer
 

n°522989
JPA
Posté le 25-09-2003 à 10:17:21  profilanswer
 

OS ?

n°522992
skwee
Posté le 25-09-2003 à 10:19:12  profilanswer
 

Désolé oui, j'aurrait du précisé, c'est sous AIX 4.3.3
 
Et langage : Ksh


Message édité par skwee le 25-09-2003 à 10:21:05
n°523091
skwee
Posté le 25-09-2003 à 12:12:10  profilanswer
 

Apres essaies sur essaie, j'ai enfi trouvé, je donne comment j'ai fait pour les interessés :)
 
awk '{
        memo=$0
                if ( $1 == "COMPLETED" || $1 == "ABORTED" ) ### les ABORTED et COMPLETED sont les 1er champs sur les lignes###
                { print NR }
        }' fichier_de_log  > fichier_temporaire
 
 
for i in `cat fichier_temporaire`
 
        do
                num=`expr ${i} - 1`
                a=`cat fichier_de_log | head -${num} | tail -1`
                b=`cat fichier_de_log | head -${i} | tail -1`
                echo "$b $a" >> fichier_de_résultats
 
        done
rm fichier_temporaire
 
 
Voila :)
 
si jamais des questions, demandez ^^ et si quelqu'un a une autre solution, je suis preneur evidement.

n°541127
gfive
Posté le 16-10-2003 à 09:01:01  profilanswer
 

man grep : il y a une option pour récupérer un nombre donné de lignes avant et après le match.
Mais là, je suis sous windows, alors j'ai pas la doc sous la main.

n°541147
bobuse
Posté le 16-10-2003 à 10:07:11  profilanswer
 

grep -B 1 ...
 
B comme before, tu as aussi A comme after ;)

n°542375
skwee
Posté le 17-10-2003 à 15:21:37  profilanswer
 

Avec grep -B 1 blabla
je recup la ligne avant celle ou il y a blabla, or il me faut la ligne avant blabla et la ligne avec blabla en sortie sur une meme ligne.

n°542911
zi_ril_wan​ou
Posté le 18-10-2003 à 19:36:10  profilanswer
 

skwee a écrit :

Avec grep -B 1 blabla
je recup la ligne avant celle ou il y a blabla, or il me faut la ligne avant blabla et la ligne avec blabla en sortie sur une meme ligne.


 
Comme tu l'as écrit, awk paraît être une bonne solution à ton problème... que je traiterais comme ça:
 

Code :
  1. awk '
  2. /^blabla/ {
  3.      printf("%s %s\n",line_sav,$0);
  4.      exit 0;
  5. }
  6. {
  7.      line_sav = $0;
  8. }
  9.     ' > fichier_res


 
mais la solution avec le grep me plaît bien aussi:
 

Code :
  1. grep -B1 blabla | awk '{printf("%s ",$0)}END{printf("\n" )}' > fichier_res



---------------
Get the Cooool... Get the cool shoe-shine !
n°544774
bobuse
Posté le 20-10-2003 à 12:07:04  profilanswer
 

skwee a écrit :

Avec grep -B 1 blabla
je recup la ligne avant celle ou il y a blabla, or il me faut la ligne avant blabla et la ligne avec blabla en sortie sur une meme ligne.


 :heink:  
 
avec grep -B 1 blabla tu recup la ligne avant celle ou il y a blabla, ET celle où il y a blabla !

n°551601
skwee
Posté le 27-10-2003 à 15:25:58  profilanswer
 

Ha, je ne savais pas. j'ai pas tester en fait car j'ai continuer avec ce que j'avais trouvé.
 
Merci de la précision :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [shell] comment récupérer 2 lignes

 

Sujets relatifs
récupérer le 'www' d'un nom de domaine [ - Job's Done - ]comment recuperer un objet en vb excel ??
[DELPHI] récupérer le nom d'un fichier ...[Delphi] Recuperer des valeurs contenues dans une page web
ftp_put : recuperer les reponses du serveur.Comment récupérer le login/password d'un user NT ?
[RÉSOLU] Récupérer attributs définis par CSS externe via JavaScript ?Récupérer fichier excel dans base SQL Server
Flash MX : comment récupérer variable ds animation swf?[windows] recuperer la liste des fichiers *.txt dans un repertoire
Plus de sujets relatifs à : [shell] comment récupérer 2 lignes


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR