Question
Lecture de fichier - Regex - table de hash
- MEURY Nikolaus
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 14 ans 1 mois #11386
par MEURY Nikolaus
Lecture de fichier - Regex - table de hash a été créé par MEURY Nikolaus
Bonjour,
Je débute en PowerShell et je n'ai pas une grosse expérience en programmation, juste des notions en perl et bash pour la réalisation de scripts d'administration réseau mais je n'ai quasiment aucune expérience.
Merci d'avance donc pour votre patience ^^
Voilà je souhaite me mettre au PowerShell que je découvre et qui m'apparaît comme un outil très puissant pour l'administration.
J'essaye actuellement de rédiger un script pour vérifier la présence de dump de bdd sur un nas.
Je m'appuie sur un fichier de configuration pour donner de la flexibilité à mon script, ce fichier permet de passer des paramètres au script comme le chemin de base.
Voilà à quoi ressemble ce fichier même si sa structure n'est pas définitive :
[global]
base=\"D:\data\dump_base\"
daily_directory=\"DQ\"
weekly_directory=\"DH\"
monthly_directory=\"DM\"
biannual=\"DS\"
[backup]
base_folder=\"serveur-sql1\"
base_subfolder=\"\"
base_file=\"sql1_db\"
[backup]
base_folder=\"serveur-sql2\"
base_subfolder=\"Appli2\"
base_file=\"sql2_db\"
ect.. avec n blocs backup pour chaque serveur.
Mon problème est de récupérer les informations pour les stocker dans des variables pour le moment.
J'aimerais faire une table de hash avec par exemple :
$backup=@{'base_folder'='serveursql1'
Je pense qu'il faut utiliser get-content et des regex mais je coince.
Par exemple pour le bloc [global] avec l'arborescence de travail je voudrais une table de hash comme suit :
$working_folder = @ {'table'='d:\data\base_dump'}
J'essaye de procéder comme suit :
$arbo = get-content g:\Scripting\Backup.ini | where
{$_ -match \"^[A-Z]:\\w+\" }
$working_path = @{ 'base'=\"$arbo\"}
Au départ ma regex pour l'arborescence ressemblait à ça :
^[a-A-Z]: (\\w+)+
Pour autoriser des arbo des plusieurs niveau, ni l'une ni l'autre ne fonctionne.
Tout les conseils sont les bienvenus ^^
Merci d'avance<br><br>Message édité par: Nicky, à: 28/03/12 14:05
Je débute en PowerShell et je n'ai pas une grosse expérience en programmation, juste des notions en perl et bash pour la réalisation de scripts d'administration réseau mais je n'ai quasiment aucune expérience.
Merci d'avance donc pour votre patience ^^
Voilà je souhaite me mettre au PowerShell que je découvre et qui m'apparaît comme un outil très puissant pour l'administration.
J'essaye actuellement de rédiger un script pour vérifier la présence de dump de bdd sur un nas.
Je m'appuie sur un fichier de configuration pour donner de la flexibilité à mon script, ce fichier permet de passer des paramètres au script comme le chemin de base.
Voilà à quoi ressemble ce fichier même si sa structure n'est pas définitive :
[global]
base=\"D:\data\dump_base\"
daily_directory=\"DQ\"
weekly_directory=\"DH\"
monthly_directory=\"DM\"
biannual=\"DS\"
[backup]
base_folder=\"serveur-sql1\"
base_subfolder=\"\"
base_file=\"sql1_db\"
[backup]
base_folder=\"serveur-sql2\"
base_subfolder=\"Appli2\"
base_file=\"sql2_db\"
ect.. avec n blocs backup pour chaque serveur.
Mon problème est de récupérer les informations pour les stocker dans des variables pour le moment.
J'aimerais faire une table de hash avec par exemple :
$backup=@{'base_folder'='serveursql1'
Je pense qu'il faut utiliser get-content et des regex mais je coince.
Par exemple pour le bloc [global] avec l'arborescence de travail je voudrais une table de hash comme suit :
$working_folder = @ {'table'='d:\data\base_dump'}
J'essaye de procéder comme suit :
$arbo = get-content g:\Scripting\Backup.ini | where
{$_ -match \"^[A-Z]:\\w+\" }
$working_path = @{ 'base'=\"$arbo\"}
Au départ ma regex pour l'arborescence ressemblait à ça :
^[a-A-Z]: (\\w+)+
Pour autoriser des arbo des plusieurs niveau, ni l'une ni l'autre ne fonctionne.
Tout les conseils sont les bienvenus ^^
Merci d'avance<br><br>Message édité par: Nicky, à: 28/03/12 14:05
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 14 ans 1 mois #11389
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Lecture de fichier - Regex - table de hash
Nicky écrit:

Ta structure étant celle d'un fichier .ini, reste à rechercher le mot clé .ini .
Rechercher sur le forumTout les conseils sont les bienvenus ^^
Ta structure étant celle d'un fichier .ini, reste à rechercher le mot clé .ini .
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- MEURY Nikolaus
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 14 ans 1 mois #11390
par MEURY Nikolaus
Réponse de MEURY Nikolaus sur le sujet Re:Lecture de fichier - Regex - table de hash
J'ai déjà fouillé, je suis tombé sur ce post :
powershell-scripting.com/index.php?optio...;id=712&catid=14
J'essaye d'adapter.
Quelle est la syntaxe pour stocker dans une variable le résultat d'une regex sur un fichier ?
Si par exemple j'ai :
$config=get-content config.ini
Si ensuite je veux affecter à une variable le résultat d'une regex ?
Je veux utiliser plusieurs regex :
Une pour les sections type [global] :
^\[(.+)\]$ celle-ci fonctionne mais je voulais à l'origine utiliser ^\[(w+)\]$ mais ça ne matchais pas...
Une pour les arbo type c:\temp
J'utilise ^[a-zA-Z]: (\\w+)+$ et ça ne match pas du tout
powershell-scripting.com/index.php?optio...;id=712&catid=14
J'essaye d'adapter.
Quelle est la syntaxe pour stocker dans une variable le résultat d'une regex sur un fichier ?
Si par exemple j'ai :
$config=get-content config.ini
Si ensuite je veux affecter à une variable le résultat d'une regex ?
Je veux utiliser plusieurs regex :
Une pour les sections type [global] :
^\[(.+)\]$ celle-ci fonctionne mais je voulais à l'origine utiliser ^\[(w+)\]$ mais ça ne matchais pas...
Une pour les arbo type c:\temp
J'utilise ^[a-zA-Z]: (\\w+)+$ et ça ne match pas du tout
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.037 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Lecture de fichier - Regex - table de hash