Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/05/2016, à 09:29

anis12

Pointeur script shell

Bonjour,
j'ai un fichier et  a chaque fois je dois le lire et  en extraire des données pour les stockers dans un autre fichier,
j'ai donc besoin d'un pointeur qui pointe vers la  derniére ligne lue,
Comment faire SVP???? merciii

Hors ligne

#2 Le 03/05/2016, à 09:44

pingouinux

Re : Pointeur script shell

Bonjour,
Ce n'est pas clair pour moi, peux-tu préciser ? Si tu veux lire le fichier ligne par ligne :

while read ligne
do
    echo "Traitemend de $ligne"
done <fichier

Hors ligne

#3 Le 03/05/2016, à 10:42

anis12

Re : Pointeur script shell

Bonjour pinguoinux,
j'ai un fichier (fichier1) et  a chaque fois je dois le lire et  en extraire des données pour les stockers dans un autre fichier (fichier2),
dans mon script j'ai besoin d'un pointeur qui pointe vers la  derniére ligne extraite de fichier1 et mise dans fichier 2, pour éviter les redondances.
dans un autre sens je dois pointer vers la derniére ligne de fichier2
voila mon script,
#!/bin/bash
sed -n '/---->/,/<----/p' fichier1.log | grep -v '\( STATE \| PMXPN \| EMV \|)' fichier2.txt

Dernière modification par anis12 (Le 03/05/2016, à 10:46)

Hors ligne

#4 Le 03/05/2016, à 10:43

credenhill

Re : Pointeur script shell

hello
dernière ligne du fichier

tail -1 fichier

Hors ligne

#5 Le 03/05/2016, à 11:07

pingouinux

Re : Pointeur script shell

Il faudrait que tu donnes un petit exemple précis : fichier de départ, et ce que tu veux comme fichier final.

Ajouté : Peut-être veux-tu ceci ?

sed -n '/---->/,/<----/{/STATE\|PMXPN\|EMV/d;p}' fichier1.log >fichier2.txt

Et pour écrire à la fin du fichier, c'est

....... >>fichier2.txt

Dernière modification par pingouinux (Le 03/05/2016, à 11:31)

Hors ligne

#6 Le 03/05/2016, à 11:37

anis12

Re : Pointeur script shell

Comme premier resultat
fichier1:
A
A
A
B------------ ligne 4
C
C
C
C
D------------ ligne 9
R
R
R
B----------- ligne 13
C
C
C
D---------- ligne 17
ficher2 :
B---- ligne 4
D--- ligne 9
B---- ligne 13
D---- ligne 17
au prochain parcour mon prog doit commencer par la ligne 18 du fichier 1 sans parcourir les lignes déja parcourues et extraite

Dernière modification par anis12 (Le 03/05/2016, à 11:40)

Hors ligne

#7 Le 03/05/2016, à 17:46

pingouinux

Re : Pointeur script shell

Tu pourrais éventuellement stocker le numéro de la ligne atteinte dans un fichier. Le coup d'après, tu relis ce fichier pour savoir d'où démarrer.

Hors ligne

#8 Le 04/05/2016, à 08:25

anis12

Re : Pointeur script shell

Bonjour Pingouinux,

peut tu me donner un exmple ?
Merci beaucoup pour ton aide mais j'en ai encore besoin, je vien juste de débuter avec le shell et je suis un peu perdu
voila ce que j'ai fait mais ça ne marche pas

cat -n teest.txt | tail -n1 | cut -f1 >> fich.txt
while $(read fich.txt)
do
grep -n  anis teest.txt
done

contenu de teest.txt:

gnewetsaniswegsdganis
jakgwoeranisjgtwio
awgljkanisahregh
sdfsdfaniswssf
gdfgergeanisrgvad
rurturtyutanisy
ewrysaanianissd

vous remarquerez que chaque ligne contient le mot 'anis' 

.

Dernière modification par anis12 (Le 04/05/2016, à 10:27)

Hors ligne