Comment éclater un fichier d’édition / aix V5 [Fermé]

Signaler
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
-
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
-
Bonjour,
Je souhaiterai effectué un système d’éclatement d’un fichier d’édition je travail sur un sun AIX 5.

Exemple de fichier sous le nom EDITION-AVT :

100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hjhjhjhjhjhjjhjjhj
hfghghgfhg
yutuytuytuytu


100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
lkfsdtmoîobcbc
45454h45ttrhyujh
fgrdrtytu74778kuj
trhrrthrth547877hg

200 : 4879 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds

400 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hjtruyityukrklyuiupoioiph
rghtjreghjrejhgreghbfvklfdjgilreil
njhrekhtreutyreytgfbnkjdfhguerhtygndfjghuit

100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
truhjtrjn547tyvnc
cyutryyivchh54444h54577trh
tkjlhjhfghefrkljgi45647ytr

800 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hljtrioyuiotruyiortuyio
kyhtiuytiouyiotuyiortu
jyhiotrjoyitrioyuoitry

Dans l’exemple suivant je veux récupérer dans un fichier les ligne commencent par 100 : 2222 et la suite jusqu’au prochain 100 : 2222 cela donnera donc dans le nouveau fichier sous le nom EDITION-APR1 :

100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hjhjhjhjhjhjjhjjhj
hfghghgfhg
yutuytuytuytu


100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
lkfsdtmoîobcbc
45454h45ttrhyujh
fgrdrtytu74778kuj
trhrrthrth547877hg


100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
truhjtrjn547tyvnc
cyutryyivchh54444h54577trh
tkjlhjhfghefrkljgi45647ytr

Le fichier EDITION-AVT ne doit plus contenir les lignes du nouveau fichier le résultat doit être le suivant :

200 : 4879 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds

400 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
mmmmmmmmmmmmmmmmmmmm
mmmmmmmmmmmmmmmmmmmm
mmmmmmmmmmmmmmmmmmmm

800 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hljtrioyuiotruyiortuyio
kyhtiuytiouyiotuyiortu
jyhiotrjoyitrioyuoitry

Ensuite je dois traiter les autres dans un autre fichier EDITION-APR2, EDITION-APR3…etc :
200 : 4879 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
400 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
800 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm


A savoir :
La seule ligne fixe c’est la 1ere ligne :
100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
ou bien
200 : 4879 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
ou bien
400 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

Si quelqu’un à une petite idée de la façon de faire merci de votre aide.

A+

19 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Salut,

Une façon de faire :
[tmpfs]$ ls
EDITION-AVT

[tmpfs]$ cat EDITION-AVT
100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hjhjhjhjhjhjjhjjhj
hfghghgfhg
yutuytuytuytu

100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
lkfsdtmoîobcbc
45454h45ttrhyujh
fgrdrtytu74778kuj
trhrrthrth547877hg

200 : 4879 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds

400 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hjtruyityukrklyuiupoioiph
rghtjreghjrejhgreghbfvklfdjgilreil
njhrekhtreutyreytgfbnkjdfhguerhtygndfjghuit

100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
truhjtrjn547tyvnc
cyutryyivchh54444h54577trh
tkjlhjhfghefrkljgi45647ytr

800 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hljtrioyuiotruyiortuyio
kyhtiuytiouyiotuyiortu
jyhiotrjoyitrioyuoitry

[tmpfs]$ sed -n '/100 :/,/^$/w EDITION-APR1
/200 :/,/^$/w EDITION-APR2
/400 :/,/^$/w EDITION-APR3
/800 :/,/^$/w EDITION-APR4
' EDITION-AVT

[tmpfs]$ ls
EDITION-APR1  EDITION-APR2  EDITION-APR3  EDITION-APR4  EDITION-AVT

[tmpfs]$ cat EDITION-APR1
100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hjhjhjhjhjhjjhjjhj
hfghghgfhg
yutuytuytuytu

100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
lkfsdtmoîobcbc
45454h45ttrhyujh
fgrdrtytu74778kuj
trhrrthrth547877hg

100 : 2222 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
truhjtrjn547tyvnc
cyutryyivchh54444h54577trh
tkjlhjhfghefrkljgi45647ytr

[tmpfs]$ cat EDITION-APR2
200 : 4879 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds
dsdsdsdsdsdsdsdsdsdsdsdsds

[tmpfs]$ cat EDITION-APR3
400 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hjtruyityukrklyuiupoioiph
rghtjreghjrejhgreghbfvklfdjgilreil
njhrekhtreutyreytgfbnkjdfhguerhtygndfjghuit

[tmpfs]$ cat EDITION-APR4
800 : 5678 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hljtrioyuiotruyiortuyio
kyhtiuytiouyiotuyiortu
jyhiotrjoyitrioyuoitry

[tmpfs]$ 
;-))
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Bonjour,

Merci pour l'aide mais lorsque je passe le sed je n'ai que les lignes suivantes de copier :

1 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
2 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
3 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001

il me manque l'autre partie Intermédiaire:
4
5 ------------------------------------------------------------------------------------------------------------------------------------
6 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
7 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
8 ------------------------------------------------------------------------------------------------------------------------------------
9 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
10 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
11 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
12 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
13 ------------------------------------------------------------------------------------------------------------------------------------
14
15


Je te redonne le type de fichier que je dois éclater:

#==> cat edition-avt2


1 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
2 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
3 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
4
5 ------------------------------------------------------------------------------------------------------------------------------------
6 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
7 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
8 ------------------------------------------------------------------------------------------------------------------------------------
9 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
10 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
11 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
12 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
13 ------------------------------------------------------------------------------------------------------------------------------------
14
15
16 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
17 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
18 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
19
20 ------------------------------------------------------------------------------------------------------------------------------------
21 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
22 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
23 ------------------------------------------------------------------------------------------------------------------------------------
24 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
25 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
26 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
27 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
28 ------------------------------------------------------------------------------------------------------------------------------------
29
30
31 200 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
32 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
33 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
34
35 ------------------------------------------------------------------------------------------------------------------------------------
36 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
37 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
38 ------------------------------------------------------------------------------------------------------------------------------------
39 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
40 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
41 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
42 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
43 ------------------------------------------------------------------------------------------------------------------------------------
44
45
46 200 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
47 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
48 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
49
50 ------------------------------------------------------------------------------------------------------------------------------------
51 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
52 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
53 ------------------------------------------------------------------------------------------------------------------------------------
54 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
55 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
56 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
57 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
58 ------------------------------------------------------------------------------------------------------------------------------------
59
60
61 999 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
62 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
63 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
64
65 ------------------------------------------------------------------------------------------------------------------------------------
66 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
67 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
68 ------------------------------------------------------------------------------------------------------------------------------------
69 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
70 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
71 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
72 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
73 ------------------------------------------------------------------------------------------------------------------------------------
74
75
76 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
77 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
78 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
79
80 ------------------------------------------------------------------------------------------------------------------------------------
81 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
82 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
83 ------------------------------------------------------------------------------------------------------------------------------------
84 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
85 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
86 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
87 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
88 ------------------------------------------------------------------------------------------------------------------------------------

Merci beaucoup de l'aide.
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Ben forcément que ça ne marche pas, les 2 fichiers étant totalement différents ;-((

La numérotation est aussi présente dans le nouveau fichier ? (parce que ça change tout encore une fois)
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Bon en partant sur le fichier collé ci-dessus (numéroté donc), et en considérant qu'il y a toujours 2 lignes vides (à l'exception des numéros) entre les différentes parties, voilà la nouvelle syntaxe (/!\ par contre il faut qu'il y ait aussi impérativement 2 lignes vides en fin de fichiers /!\) :
#n

/^[0-9]\{1,\} 100 :/{
:z
N
/\n[0-9]*\n[0-9]*$/! bz
w EDITION-APR1
}

/^[0-9]\{1,\} 200 :/{
:k
N
/\n[0-9]*\n[0-9]*$/! bk
w EDITION-APR2
}

/^[0-9]\{1,\} 999 :/{
:j
N
/\n[0-9]*\n[0-9]*$/! bj
w EDITION-APR3
}
Ce code est à mettre dans un fichier (foo.sed par exemple) et doit être appelé de la façon suivante :
sed -f foo.sed fichier_a_traiter
Par contre si les lignes ne sont pas numérotées, utiliser cette syntaxe :
#n

/100 :/{
:z
N
/\n\n$/! bz
w EDITION-APR1
}
/200 :/{
:j
N
/\n\n$/! bj
w EDITION-APR2
}
/999 :/{
:k
N
/\n\n$/! bk
w EDITION-APR3
}
;-))
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Merci,
Il ne m’est pas possible d'essayer maintenant car je ne suis plus au bureau mais demain dès la 1ere heure je passe le test sur la deuxième façon car les lignes ne sont pas numérotées.

Par contre pour un peut de compréhension.

#n

/100 :/{
:z
N
/\n\n$/! bz
w EDITION-APR1
}

Le #n c'est quoi
Bon je pense que pour /100 :/ je me positionne sur la 1ère ligne qui contient 100 :
Le :Z ce n'est pas une étiquette non?
N c'est quoi?
/\n\n$/! c'est quoi?
Le bz c'est pour revenir à l'étiquette :z non?
w EDITION-APR1 la sauvegarde
Les { } c'est quoi ça ne sert pas comme fonction non?
C'est marrant ce code ressemble beaucoup a un système de moulinette (éditeur) qui fonctionne sur mainframe que je connais très bien système bull.

Bon je suis désolé je te demande plein de chose mais je n'aime pas faire une chose sans comprendre le pourquoi.
Merci de ta compréhension

Bonne soirée et encore merci
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Pour de plus amples explications, voir Sed - Introduction à SED - Part I

#n                      # Ne rien afficher sur la sortie standard

/100 :/{                # On matche les lignes commençant par ...
                        ## L'accolade permet de regrouper les commandes à appliquer à
                        ### l'intervalle de lignes matchées

:z                      # Étiquette

N                       # Ajouter la ligne suivante dans l'espace de travail

/\n\n$/! bz             # Tant que l'espace de travail ne se termine pas
                        ## par un motif équivalent à 2 retours à la ligne,
                        ### on retourne à l'étiquette "z"

w EDITION-APR1          # Si le motif correspond, alors on écrit (w) le contenu
                        ## de l'espace de travail dans le fichier ...

}                       # Fin du regroupement de commande
;-))
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Bonjour,
Je n'arrive pas à faire le branchement suivant:
Tant que ma ligne ne commence pas par xxxxxxxxxxx je dois retourner à l'étiquette z

:z
N
/^xxxxxxxxxxx/????
w EDITION-APR1

comment faire?
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
:z
N
/^xxxxxxxxxxx/! bz
w EDITION-APR1 
;-))
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Bonjour,

Dans le fichier suivant j'ai besoin d'inserer 2lignes à blanc comment faire?


Fichier avant:

1 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
2 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
3 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
4
5 ------------------------------------------------------------------------------------------­------------------------------------------
6 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
7 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
8 ------------------------------------------------------------------------------------------­------------------------------------------
9 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
10 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
11 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
12 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
13 ------------------------------------------------------------------------------------------­------------------------------------------
16 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
17 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
18 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
19
20 ------------------------------------------------------------------------------------------­------------------------------------------
21 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
22 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
23 ------------------------------------------------------------------------------------------­------------------------------------------
24 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
25 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
26 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
27 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
28 ------------------------------------------------------------------------------------------­------------------------------------------


Fichier après:

1 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
2 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
3 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
4
5 ------------------------------------------------------------------------------------------­------------------------------------------
6 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
7 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
8 ------------------------------------------------------------------------------------------­------------------------------------------
9 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
10 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
11 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
12 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
13 ------------------------------------------------------------------------------------------­------------------------------------------
14
15
16 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
17 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
18 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
19
20 ------------------------------------------------------------------------------------------­------------------------------------------
21 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
22 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
23 ------------------------------------------------------------------------------------------­------------------------------------------
24 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
25 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
26 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
27 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
28 ------------------------------------------------------------------------------------------­------------------------------------------
29
30

Mreci d'avance
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Salut,
sed '${G;G}' fichier
echo -e "\n" >> fichier
;-))
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Salut,
Je n'arrive pas a passer ta commande


sed '${G;G}' fichier
j'ai l'erreur suivante
sed : commande incohérente : ${G;G}

Ca veut dire quoi ?


echo -e "\n" >> fichier

alors la je suis plusque perdu??

Help!!!!!!
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Les 2 commandes (une avec sed l'autre en shell) sont sensées ajouter 2 lignes en fin de fichier (avec "sed" il faut rajouter le switch "-i" pour que ce soit éditer en place sur le fichier lui même. Il faut aussi que ta version de "sed" le supporte) :
jp@MDK:~/tmpfs ssh$ cat -n steph
     1  ligne 1
     2  ligne 2
     3  ligne 3
     4  ligne 4
     5  ligne 5
jp@MDK:~/tmpfs ssh$ sed '${G;G}' steph | cat -n
     1  ligne 1
     2  ligne 2
     3  ligne 3
     4  ligne 4
     5  ligne 5
     6
     7
jp@MDK:~/tmpfs ssh$ cat -n steph
     1  ligne 1
     2  ligne 2
     3  ligne 3
     4  ligne 4
     5  ligne 5
jp@MDK:~/tmpfs ssh$ echo -e "\n" >> steph
jp@MDK:~/tmpfs ssh$ cat -n steph
     1  ligne 1
     2  ligne 2
     3  ligne 3
     4  ligne 4
     5  ligne 5
     6
     7
jp@MDK:~/tmpfs ssh$
;-))
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Le fichier qui doit contenir les blancs:

100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001

------------------------------------------------------------------------------------------­­------------------------------------------
I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
------------------------------------------------------------------------------------------­­------------------------------------------
I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
------------------------------------------------------------------------------------------­­------------------------------------------
<<1ERE LIGNE A BLANC>>
<<2EME LIGNE A BLANC>>
100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001

------------------------------------------------------------------------------------------­­------------------------------------------
I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
------------------------------------------------------------------------------------------­­------------------------------------------
I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
------------------------------------------------------------------------------------------­­------------------------------------------
<<1ERE LIGNE A BLANC>>
<<2EME LIGNE A BLANC>>
100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001

------------------------------------------------------------------------------------------­­------------------------------------------
I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
------------------------------------------------------------------------------------------­­------------------------------------------
I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
------------------------------------------------------------------------------------------­­------------------------------------------
<<1ERE LIGNE A BLANC>>
<<2EME LIGNE A BLANC>>
100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001

------------------------------------------------------------------------------------------­­------------------------------------------
I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
------------------------------------------------------------------------------------------­­------------------------------------------
I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
------------------------------------------------------------------------------------------­­------------------------------------------

j'ai mis en clair les lignes à blanc dans le format suivant:
<<1ERE LIGNE A BLANC>>
<<2EME LIGNE A BLANC>>

Avec la façon que tu me donnes je ne sais pas si c'est possible d’insérer les lignes à blanc dans mon fichier
Si tu as une idée merci

Bonne soirée
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
sed '1 n;/100 :/i\
\n
' fichier
Rajoute le switch "-i" pour une édition en place...
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Salut,
super ça marche merci beaucoup

une derniere petite chose comment puis-je faire pour me positionner de - 2 lignes par rapport à un motif.

exemple toujours sur le même fichier après avoir mis les 2 lignes à blanc le motif correspond toujours à 100 : à partir de ces lignes je dois faire:
-2 puis delete de la ligne courante et de la seconde ligne cette manip me permettra de supprimer les 2 lignes à blanc insérer.

Merci de ton aide
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Essaye ça :
sed '
/100 :/ !{
    :z
    h
    N
    /100 :.*$/ !b z
    s/.*\n//
    x
    s/\(.*\)\n.*\n.*$/\1/
    G
}' fichier
;-))
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Salut,
J'ai un gros souci avec la procédure de mise en forme de l'édition le fichier et éclaté mais chose bizarre le tableau ce termine à la 29ème ligne et elle reprend sur le motif et s'arrête sur la 29ème ...etc
l'espace de travail est-il limitée y a t-il une explication et surtout une correction????

Pour info :
J'ai vérifié la ligne qui précède l'interruption il n'y a pas de différence visible.

Merci pour l'aide.
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
En fonction de ta version de sed il se peut que tu sois limité avec les tampons (http://sed.sourceforge.net/sedfaq6.html#s6.6)

Par contre avec tous ces posts et différentes syntaxes, je ne sais plus de quoi tu parles...
Quel fichier ? Quelle syntaxe ? Dans quel but ?
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Oui 1000 excuses et merci encore pour ton aide le fichier correspond à celui-ci:

1 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
2 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
3 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
4
5 ------------------------------------------------------------------------------------------­­------------------------------------------
6 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
7 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
8 ------------------------------------------------------------------------------------------­­------------------------------------------
9 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
10 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
11 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
12 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
13 ------------------------------------------------------------------------------------------­­------------------------------------------
14
15
16 100 : POILM ITIROTIRITPRPOT IOPREITOERITOIERTIERPO KGOERKOGPIER ZTP dd DU 01.05.2008 AU 31.05.2008
17 IIIIEROPR JGDFKJGLKDFJGLK KMLMLLLMLMLMLMLMLM
18 ijuioo : 119 GPOIU KLMKLMKLMDEOI CODE iioioioioo : PPPP DATE EDITION : 14.05.2008 HEURE : 21.29 PAGE : 0001
19
20 ------------------------------------------------------------------------------------------­­------------------------------------------
21 I dddd : ffff : vvvvvvvv : ooooooo : kkkkkkkkk : llllll :mmm: uuuuuu : jjjj : vvvvvvv : ssss I
22 I mpl. : cds. :fez poiuyt : Ertrezzza : gef.gggg:gbfe fgr: : mploijj : mlkjhu : : dvs I
23 ------------------------------------------------------------------------------------------­­------------------------------------------
24 I 11 I xx.xx I 000000000 I 324567889 I gklkkfogoeproigopi I I I I I I I
25 I 16 I yy.zz I 011111111 I 034I8576729 I yopggfrpzeorpeorrr I I I I I I I
26 I 19 I TT.GH I 098788888 I 98749202025 I tklkdfiioiepopeoro I I I I I I I
27 I 45 I pp.uu I kihyfgdhg I jhfhfufzfiouz I eiuzeuiioiepopeoro I I I I I I I
28 ------------------------------------------------------------------------------------------­­------------------------------------------
29
30

Dans l'exemple ci-dessus si tu prends de la ligne 1 à 12 il est possible d'avoir 50 lignes.
Et quand je regarde mon nouveau fichier il ne me reste qu'une trentaine de ligne.
Comment puis-je connaitre la version de mon sed.
N'existe t-il pas une option pour forcer cette limite s'il y a limite du tampon???
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
heu au faite j'ai oublié de te donner la syntaxe que j'utilise pour éclater l'édition:

/100 : /{
:s
N
/\n\n$/!bs
w eclat_edition
}
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 858
Bon chez moi ça marche sans problème.

Pour la version de sed, essaies "sed --version"...
Messages postés
186
Date d'inscription
dimanche 27 janvier 2008
Statut
Membre
Dernière intervention
2 septembre 2011
5
Bouah
Impossible d'aller jusqu'au bout du fichier il tronc à chaque fois je dois avoir une limite au niveau de l'espace de travail
Je ne vois pas autre chose alors la c'est le couac comment faire je vais chercher une autre façon de pratiquer je ne sais pas quoi mais bon je garde espoir.

Si ta une idée elle est bien venu.