Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/03/2011, 17h30   #1
Nouveau Membre du Club
 
Homme
Inscription : février 2009
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : février 2009
Messages : 30
Points : 27
Points : 27
Par défaut Traitement fichier en Shell

Bonjour,

Quelqu'un peut-il m'aider pour traiter un fichier en Shell.

je vous explique le problème. J'ai un fichier en entrée qui n'est autre que la liste des utilisateurs d'un système avec leur mot de passe crypté. Le fichier est structuré de la sorte :
----
[Login1]
Pass=Mdp_Crypt_1

[Login2]
Pass=Mdp_Crypt_2

[Login3]
Pass=Mdp_Crypt_3

etc...
----
Il faut que je traitre ce fichier afin de décrypté les mots de passe. Je pense utilisé le package Open SSL pour y parvenir car les mots de passes sont cryptés selon 3DES.

Dans un premier temps, afin de m'affranchir de la problématique de parcours du fichier, j'aimerais déjà arriver à créer un fichier ou les mots de passes cryptés sont concaténé à la chaine "bob".

Voilà mon code :
Code :
1
2
3
4
5
6
7
while read line  
do   
	if test ${line} | grep '^[Pass=]' | wc -l;
	then echo $line"bob"
        else $line
	fi
done < nomfichier
Ce code ne marche pas ...
Une précision j'utilise Korn Shell.

Quelqu'un peut-il m'orienter ?

Merci d'avance
drvercetti est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/03/2011, 17h47   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

'comprend pas
Code :
1
2
3
4
while read line; do [[ $line == Pass* ]] && echo "${line}bob"; done <tes_logins
Pass=Mdp_Crypt_1bob
Pass=Mdp_Crypt_2bob
Pass=Mdp_Crypt_3bob
et puis c'est tout, non ?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 17/03/2011, 17h53   #3
Nouveau Membre du Club
 
Homme
Inscription : février 2009
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : février 2009
Messages : 30
Points : 27
Points : 27
Citation:
Envoyé par N_BaH Voir le message
Bonjour,

'comprend pas
Code :
1
2
3
4
while read line; do [[ $line == Pass* ]] && echo "${line}bob"; done <tes_logins
Pass=Mdp_Crypt_1bob
Pass=Mdp_Crypt_2bob
Pass=Mdp_Crypt_3bob
et puis c'est tout, non ?
Merci pour la réponse si rapide...

Ca me va très bien! Et comment mettre tout ça dans un nouveau fichier ?
drvercetti est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/03/2011, 18h33   #4
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
pourquoi vouloir utiliser un autre fichier ?

Code :
while ...done <tes_logins > nouveauFichier
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 17/03/2011, 18h41   #5
Membre éclairé
 
Avatar de FRUiT
 
Homme
Inscription : février 2011
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2011
Messages : 83
Points : 326
Points : 326
Code :
awk '/Pass/ { print $0"bob" }' fichier_log > fichier_log_2
__________________
Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
FRUiT est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 18/03/2011, 09h43   #6
Nouveau Membre du Club
 
Homme
Inscription : février 2009
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : février 2009
Messages : 30
Points : 27
Points : 27
J'ai besoin d'utiliser un nouveau fichier car je dois reconstruire la liste des utilisateurs mais avec leur mot de passe décryptés.

Merci FRUIT pour la proposition avec awk. Cette solution ne me convient pas malheureusement car je ne crois pas qu'il soit possible d'utiliser des fonctions de décryptage d'Open SSL dans le coeur du programme.

Merci N_BAH pour m'avoir grandement aider.
La syntaxe Shell est vraiment pas évidente.

Bonne journée !
drvercetti est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h34.


 
 
 
 
Partenaires

Hébergement Web