Récupération de chaîne en bash
Résolu/Fermé
marie78
-
1 juil. 2010 à 08:48
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 1 juil. 2010 à 17:07
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 1 juil. 2010 à 17:07
A voir également:
- Récupération de chaîne en bash
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
- Récupération de compte google - Guide
- Minimal bash-like line editing is supported ✓ - Forum Linux / Unix
- Convertisseur récupération de texte - Guide
3 réponses
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
Modifié par mamiemando le 1/07/2010 à 10:09
Modifié par mamiemando le 1/07/2010 à 10:09
Tu peux lire le fichier ligne par ligne et quand tu arrives sur la ligne qui correspond au debut de section à extraire, entrer dans une boucle qui écrit au bon endroit les lignes à extraire jusqu'à rencontrer la ligne qui marque la fin de la zone à extraire.
https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne
http://www.laboiteaprog.com/article-70-3-bash_introduction
De toute façon sed n'aurait pas été le plus pratique pour ce que tu veux faire (voire n'aurait pas permis de le faire simplement). Je serais plutôt parti awk ou sur un script purement shell comme celui que je t'ai indiqué... sachant qu'en awk c'est plus facile à écrire.
Bonne chance
https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne
http://www.laboiteaprog.com/article-70-3-bash_introduction
De toute façon sed n'aurait pas été le plus pratique pour ce que tu veux faire (voire n'aurait pas permis de le faire simplement). Je serais plutôt parti awk ou sur un script purement shell comme celui que je t'ai indiqué... sachant qu'en awk c'est plus facile à écrire.
Bonne chance
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
Modifié par mamiemando le 1/07/2010 à 16:41
Modifié par mamiemando le 1/07/2010 à 16:41
Ah effectivement jipicy je ne connaissais pas cette syntaxe (en fait je ne pensais pas que sed pouvait travailler sur un groupes de lignes, je croyais qu'il raisonnait ligne par ligne).
Merci pour ces précisions.
Merci pour ces précisions.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
1 juil. 2010 à 16:48
1 juil. 2010 à 16:48
Un peu de lecture pour les chaudes soirées d'été ;-))
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
1 juil. 2010 à 16:53
1 juil. 2010 à 16:53
Oulà je te remercie mais j'ai déjà plein d'autres choses à lire :-)
Et en général je travaille plutôt avec awk qui me permet d'en faire autant et pour moi plus simplement (sachant que j'ai pas mal développé dans ma jeunesse, je trouve l'approche plus simple).
Et en général je travaille plutôt avec awk qui me permet d'en faire autant et pour moi plus simplement (sachant que j'ai pas mal développé dans ma jeunesse, je trouve l'approche plus simple).
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
1 juil. 2010 à 16:55
1 juil. 2010 à 16:55
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
1 juil. 2010 à 17:07
1 juil. 2010 à 17:07
Comme ça :
script.awk
Certes c'est plus long à écrire mais je trouve ça plus clair et plus facile à généraliser ou à étendre. Enfin après chacun ses goûts, moi je trouve la syntaxe sed parfois peu parlante.
script.awk
/C04/{ extraire = 0 } { if (extraire == 1){ print $0; } } /P18/{ extraire = 1 }
Certes c'est plus long à écrire mais je trouve ça plus clair et plus facile à généraliser ou à étendre. Enfin après chacun ses goûts, moi je trouve la syntaxe sed parfois peu parlante.
awk -f script.awk fichier.txt
1 juil. 2010 à 10:20
De toute façon sed n'aurait pas été le plus pratique pour ce que tu veux faire (voire n'aurait pas permis de le faire simplement)
Ben si justement, ça c'est son truc à "sed" :
Plus simple, tu meurs ;-))
1 juil. 2010 à 10:32
Oui je sais qu'avec sed ça aurait été plus simple jipicy, mais il ne veut pas me le faire sur une carte électronique, il me crée toujours un dossier vide, alors que si je le fais directement dans l'ordinateur ça marche. J'ai essayé pleins de truc, si je met une commande pour récupérer les dernière ligne avec tail ça marche très bien, mais avec sed ça marche pas du tout. Saurais tu pourquoi?
1 juil. 2010 à 11:02
Et avec "ed" :
1 juil. 2010 à 11:12
1 juil. 2010 à 11:14