Opération sur numero de ligne
Résolu
needhelp
-
dubcek Messages postés 19021 Statut Contributeur -
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,
J'ai lu divers sujets sur la numérotation de ligne d'un fichier qui m'ont bien aidé.
Je voudrai pouvoir afficher une ligne en faisant des opérations sur les numéros :s
Je m'explique pour que ça soit plus clair ^^
exemple :
fichier texte toto.txt contenant :
le fichier tata.txt
a bien
été enregistré
nous vous remercions
veuillez passer une
bonne fin de journée
je cherche dans le fichier tata.txt , la chaîne "a bien" en faisant :
ligne=$(grep -n 'a bien' tata.txt | cat -d:f1);
Par rapport a cette ligne où se trouve la chaîne, je souhaiterai récupérer la 3eme ligne (et nom pas le numéro) après celle-ci
Donc en gros un $ligne=$ligne+3 pour récupérer dans une variable la chaine "veuillez passer une"
Merci
J'ai lu divers sujets sur la numérotation de ligne d'un fichier qui m'ont bien aidé.
Je voudrai pouvoir afficher une ligne en faisant des opérations sur les numéros :s
Je m'explique pour que ça soit plus clair ^^
exemple :
fichier texte toto.txt contenant :
le fichier tata.txt
a bien
été enregistré
nous vous remercions
veuillez passer une
bonne fin de journée
je cherche dans le fichier tata.txt , la chaîne "a bien" en faisant :
ligne=$(grep -n 'a bien' tata.txt | cat -d:f1);
Par rapport a cette ligne où se trouve la chaîne, je souhaiterai récupérer la 3eme ligne (et nom pas le numéro) après celle-ci
Donc en gros un $ligne=$ligne+3 pour récupérer dans une variable la chaine "veuillez passer une"
Merci
A voir également:
- Opération sur numero de ligne
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Partage de photos en ligne - Guide
- Numero prive - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
5 réponses
Salut,
Une solution parmi d'autres avec "sed" :
;-))
Une solution parmi d'autres avec "sed" :
jp@MDK:~/tmpfs ssh$ cat plop
le fichier tata.txt
a bien
été enregistré
nous vous remercions
veuillez passer une
bonne fin de journée
jp@MDK:~/tmpfs ssh$ ligne="a bien"
jp@MDK:~/tmpfs ssh$ var=$(sed -n '/'"${ligne}"'/{n;n;n;p}' plop)
jp@MDK:~/tmpfs ssh$ echo ${var}
veuillez passer une
jp@MDK:~/tmpfs ssh$
;-))
Un grand merci ça marche !
Mais j'ai un autre problème pour ça je fais un exemple plus concret :
fichier texte :
transfert de toto.txt
taille 400 ko
vitesse 10ko/s
transfert terminé
transfer de toto.txt.1
taille 400 ko
vitesse 10ko/s
transfert terminé
Donc le problème en cherchant dans le fichier la chaine qui contient "toto.txt".
Ça va m'afficher :
transfert terminé transfert terminé
En gros le fichier toto.txt.1 est la version antécédente que je garde et transfert.
A la fin en gros je voudrais dans un fichier texte :
détail du fichier toto.txt
transfert terminé
détail du fichier toto.txt.1
transfert terminé
Mais j'ai un autre problème pour ça je fais un exemple plus concret :
fichier texte :
transfert de toto.txt
taille 400 ko
vitesse 10ko/s
transfert terminé
transfer de toto.txt.1
taille 400 ko
vitesse 10ko/s
transfert terminé
Donc le problème en cherchant dans le fichier la chaine qui contient "toto.txt".
Ça va m'afficher :
transfert terminé transfert terminé
En gros le fichier toto.txt.1 est la version antécédente que je garde et transfert.
A la fin en gros je voudrais dans un fichier texte :
détail du fichier toto.txt
transfert terminé
détail du fichier toto.txt.1
transfert terminé
jp@MDK:~/tmpfs ssh$ cat plop
transfert de toto.txt
taille 400 ko
vitesse 10ko/s
transfert terminé
transfer de toto.txt.1
taille 400 ko
vitesse 10ko/s
transfert terminé
jp@MDK:~/tmpfs ssh$ sed -n '/toto/{h;n;n;n;H;g;p}' plop
transfert de toto.txt
transfert terminé
transfer de toto.txt.1
transfert terminé
jp@MDK:~/tmpfs ssh$
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hello
une solution avec awk
une solution avec awk
$ cat a2
transfert de toto.txt
taille 400 ko
vitesse 10ko/s
transfert terminé
transfer de toto.txt.1
taille 400 ko
vitesse 10ko/s
transfert terminé
$
$ awk '/toto/ {n=NR;print}; NR==n+3 {print}' a2
transfert de toto.txt
transfert terminé
transfer de toto.txt.1
transfert terminé
$