Print d'un fichier

Résolu/Fermé
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 - 5 mai 2008 à 12:27
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 - 5 mai 2008 à 17:13
Bonjour,
J'aimerai faire le print d'un fichier de la ligne 25 à la ligne 30 comment faire??

Système Unix Aix
merci de votre aide
A voir également:

8 réponses

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
5 mai 2008 à 12:29
Salut,
sed -n '25,30p' fichier
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
5 mai 2008 à 14:16
Bonjour,

Est-il possible de faire la même chose en utilisant +5 exemple
sed -n '25,+5p' fichier

ou autrement?

Merci
0
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
5 mai 2008 à 14:28
Tel que tu l'as écrit c'est bon ;-))

PS. Marche avec les versions récentes de "sed" (GNU sed 3.02 et supérieur)
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
5 mai 2008 à 14:45
Ben non ça ne marche pas je dois avoir l'ancienne version
Suite à ma commande sed j'ai le message suivant:
sed -n '25,+5p' fichier
sed : 0602-404 Analyse syntaxique de la fonction 25,+5p impossible.

Y-a t-il une autre facon de faire?
0
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
5 mai 2008 à 14:50
sed -n '25 {N;N;N;N;N;p}'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
5 mai 2008 à 16:23
Impossible de passer la commande.
On est obligé de passer par un sed pour faire un print de la ligne xx à la ligne +5??
il n'existe pas une commande print XX,+X ou un cat ou autre chose?
0
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
5 mai 2008 à 16:33
Bizarre que ça marche pas ;-\
Quelle version de "sed" ? (sed --version)
[jp@MDK-2008 trash]$ cat plop
ligne 1
ligne 2
ligne 3
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
ligne 9
ligne 10
[jp@MDK-2008 trash]$ sed -n '4,+4p' plop
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
[jp@MDK-2008 trash]$ sed -n '4 {N;N;N;N;p}' plop
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
[jp@MDK-2008 trash]$
Tu peux ausi essayer avec "awk" :
[jp@MDK-2008 trash]$ awk 'NR == 4, NR == (4+4) {print $0 }' plop
ligne 4
ligne 5
ligne 6
ligne 7
ligne 8
[jp@MDK-2008 trash]$
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
5 mai 2008 à 16:46
Merci pour l'astuce du awk JP trop cool ça marche.

Par contre je ne comprends pas bien le fonctionnement de NR == 4, NR == (4+4)

ben la je coule help

Merci encore de ton aide
0
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
5 mai 2008 à 16:52
NR est une variable interne à awk et qui est en fait un compteur de lignes.

Donc "NR == 4" cible la 4ème ligne et "NR == (4+4)" cible le 8ème ligne et on demande l'affichage de chacune des lignes comprises dans cet intervalle ("print $0") ;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
5 mai 2008 à 17:13
Ok merci beaucoup pour l'explication c'est claire maintenant.


Merci et bonne fin de journée
0