Script shell,Modifie chaque premier caractère

Fermé
farrous3.7 Messages postés 42 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 1 janvier 2012 - 1 janv. 2012 à 13:35
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 2 janv. 2012 à 18:35
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 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
1 janv. 2012 à 16:41
Salut,

Ça c'est un travail pour "sed" ;-))
0
Merci beaucoups
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
2 janv. 2012 à 18:35
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