Script shell,Modifie chaque premier caractère

farrous3.7 Messages postés 45 Statut Membre -  
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour,

En faite pour faire court, je voudrai rendre un fichier plus lisible en modifiant chaque premier caractère par sa signification.
Voici le fichier d'origine:

D4/8/02
ORemboursement prêt
$-210.50
^
D20/6/02
OAchat de voiture
AGarage La Bécane
A3, rue la Vitesse
A45000 Orléans
^

Et voici à quoi le résultat doit ressembler :

Date: 4/8/02
Objectif: Remboursement prêt
$-210.50
.
.
Date: 20/6/02
Objectif: Achat de voiture
Adresse: Garage La Bécane
3, rue la Vitesse
45000 Orléans


A voir également:

2 réponses

zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Salut,

Ça c'est un travail pour "sed" ;-))
0
farrous3.7
 
Merci beaucoups
0
zipe31 Messages postés 38797 Statut Contributeur 6 433
 
Avec l'exemple que tu as donné, voilà ce que ça pourrait donner :

$ cat plop
D4/8/02
ORemboursement prêt
$-210.50
^
D20/6/02
OAchat de voiture
AGarage La Bécane
A3, rue la Vitesse
A45000 Orléans
^

$ cat format.sed 
s/^\^//                                
s/^D/Date : /                          
s/^O/Objectif : /                      
s/^A/Adresse : /                       

$ cat pre_format.sed 
/^A/ {                                 
    :z                                 
    N                                  
    /\nA/ s/\nA/|/g                    
    b z                                
}                                      

$ sed -f format.sed < <(sed -f pre_format.sed plop) | sed 's/|/\n/g'
Date : 4/8/02
Objectif : Remboursement prêt
$-210.50

Date : 20/6/02
Objectif : Achat de voiture
Adresse : Garage La Bécane
3, rue la Vitesse
45000 Orléans


$

;-))
0