Comment éclater un fichier d’édition / aix V5

Fermé
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 - 17 mai 2008 à 09:22
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 - 27 mai 2008 à 20:01
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+
A voir également:

19 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
17 mai 2008 à 10:11
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]$ 
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
19 mai 2008 à 16:25
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.
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
19 mai 2008 à 17:00
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)
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
19 mai 2008 à 18:38
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
}
;-))
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
19 mai 2008 à 19:37
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
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
19 mai 2008 à 22:38
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
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
20 mai 2008 à 15:02
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?
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
20 mai 2008 à 16:22
:z
N
/^xxxxxxxxxxx/! bz
w EDITION-APR1 
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
21 mai 2008 à 16:06
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
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
21 mai 2008 à 17:03
Salut,
sed '${G;G}' fichier
echo -e "\n" >> fichier
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
21 mai 2008 à 17:11
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!!!!!!
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
21 mai 2008 à 18:11
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$
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
21 mai 2008 à 19:21
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
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
21 mai 2008 à 19:39
sed '1 n;/100 :/i\
\n
' fichier
Rajoute le switch "-i" pour une édition en place...
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
22 mai 2008 à 08:19
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
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
23 mai 2008 à 09:36
Essaye ça :
sed '
/100 :/ !{
    :z
    h
    N
    /100 :.*$/ !b z
    s/.*\n//
    x
    s/\(.*\)\n.*\n.*$/\1/
    G
}' fichier
;-))
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
27 mai 2008 à 10:49
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.
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
27 mai 2008 à 11:02
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 ?
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
27 mai 2008 à 11:49
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???
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
27 mai 2008 à 14:21
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
}
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
27 mai 2008 à 16:23
Bon chez moi ça marche sans problème.

Pour la version de sed, essaies "sed --version"...
0
stephbret56 Messages postés 186 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 2 septembre 2011 6
27 mai 2008 à 20:01
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.
0