Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1274 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  éditer un fichier de config en shell

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

éditer un fichier de config en shell

n°1790166
hppp
Serveur@home
Posté le 21-09-2008 à 21:37:48  profilanswer
 

salut a tous
 
Je voudrai avec un script shell éditer un fichier de config genre apache, en gros je voudrai lancer le script, qu'il demande à l'user les paramètres qu'il veut avec des champs a remplir, ça je sais faire, mais mon problème c'est comment après appliquer les modifs au fichier?  
en cherchant un peut j'ai trouvé la commande sed, mais existe t'il d'autres moyens plus propre ou plus simple?
Merci

mood
Publicité
Posté le 21-09-2008 à 21:37:48  profilanswer
 

n°1790197
Elmoricq
Modérateur
Posté le 21-09-2008 à 22:48:18  profilanswer
 

C'est très bien sed. Tu peux le faire avec vi aussi, mais c'est plus chiant. Ou avec PERL, mais c'est plus du shell pour le coup.
Le plus simple est de créer un fichier template avec des mots-clefs à remplacer à coup de sed pour créer un nouveau fichier de config'.

n°1790283
matafan
Posté le 22-09-2008 à 10:19:23  profilanswer
 

Suivant ce que tu veux faire, ed peut être plus adapté que sed.

n°1792806
hppp
Serveur@home
Posté le 27-09-2008 à 19:36:52  profilanswer
 

J'aurai genre à éditer un fichier comme ça, donc mettre tous les valeurs en variables et après de les modifier dans le fichier si elles ont changé, mais je trouve que sed est vraiment une usine à gaz pour faire ça, vous aurai pas un truc plus simple?.
 

Code :
  1. // CONFIGURATION DU GAMEPLAY DU SERVEUR
  2. // Indique le temps d.achat en minute maximum :
  3. mp_buytime 1
  4. // Indique le montant maximum d.argent disponible, maximum = 16000
  5. mp_startmoney 8000
  6. // Indique le temps en seconde avant que la bombe n.explose :
  7. mp_c4timer 30
  8. // Autorise les grenades aveuglantes ou non :
  9. mp_flashlight 1
  10. // 1 enables hearing footsteps, 0 disables it
  11. mp_footsteps 1
  12. // 1 enables falling damage, 0 disables it
  13. mp_falldamage 1
  14. // Indique le nombre d.otage maximum tué avant que le joueur soit déconnecté. // 0 désactive cette fonctionnalité
  15. mp_hostagepenalty 0

n°1792853
Sve@r
Posté le 27-09-2008 à 21:59:37  profilanswer
 

hppp a écrit :

J'aurai genre à éditer un fichier comme ça, donc mettre tous les valeurs en variables et après de les modifier dans le fichier si elles ont changé, mais je trouve que sed est vraiment une usine à gaz pour faire ça, vous aurai pas un truc plus simple?.
 

Code :
  1. // CONFIGURATION DU GAMEPLAY DU SERVEUR
  2. // Indique le temps d.achat en minute maximum :
  3. mp_buytime 1
  4. // Indique le montant maximum d.argent disponible, maximum = 16000
  5. mp_startmoney 8000
  6. // Indique le temps en seconde avant que la bombe n.explose :
  7. mp_c4timer 30
  8. // Autorise les grenades aveuglantes ou non :
  9. mp_flashlight 1
  10. // 1 enables hearing footsteps, 0 disables it
  11. mp_footsteps 1
  12. // 1 enables falling damage, 0 disables it
  13. mp_falldamage 1
  14. // Indique le nombre d.otage maximum tué avant que le joueur soit déconnecté. // 0 désactive cette fonctionnalité
  15. mp_hostagepenalty 0



 
Ben en fait, il se trouve que les fichiers de config "à la mode" zindow offrent certains avantages.
Ils sont écrits de cette façon
[chapitre]
item=valeur
item=valeur
item=valeur
item=valeur
 
[chapitre]
item=valeur
item=valeur
item=valeur
item=valeur
etc
 
Et ce formalisme commence à être assez bien pris en compte car Python possède une librairie "ConfigParser" qui permet de traiter ce genre de fichier. Bon, c'est plus du shell évidemment mais c'est pour dire qu'il existe certains outils déjà faits.
 
Sinon pour ta question ben tu peux très bien créer une fonction qui va aller lire et ou écrire l'info que tu souhaites. Certes cette fonction risque d'être une "usine à gaz" mais une fois écrite, tu pourras t'en servir assez facilement quand t'en auras besoin...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1792857
hppp
Serveur@home
Posté le 27-09-2008 à 22:07:43  profilanswer
 

Sve@r a écrit :


 
Ben en fait, il se trouve que les fichiers de config "à la mode" zindow offrent certains avantages.
Ils sont écrits de cette façon
[chapitre]
item=valeur
item=valeur
item=valeur
item=valeur
 
[chapitre]
item=valeur
item=valeur
item=valeur
item=valeur
etc
 
Et ce formalisme commence à être assez bien pris en compte car Python possède une librairie "ConfigParser" qui permet de traiter ce genre de fichier. Bon, c'est plus du shell évidemment mais c'est pour dire qu'il existe certains outils déjà faits.
 
Sinon pour ta question ben tu peux très bien créer une fonction qui va aller lire et ou écrire l'info que tu souhaites. Certes cette fonction risque d'être une "usine à gaz" mais une fois écrite, tu pourras t'en servir assez facilement quand t'en auras besoin...


Bon bien je vais me plonger dans le développement de cette fonction et y passer quelles que heures


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  éditer un fichier de config en shell

 

Sujets relatifs
Rechercher un nom dans un fichierPlugin Netbeans pour création de fichier .xml (swixml)
[DOS] Enregistrer un fichier avec un nom variable[Access 97] Ouverture d'un fichier .eml
Récuperer un fichier d'un serveur[Shell/Bash] Compter nombre de fichiers dans un répertoire
lire un fichier texte caractere par caractere et effacer la lettre luConversion fichier .sql 3.23 vers 5.0 (mysql)
Utiliser json_decode() en PHP 4 
Plus de sujets relatifs à : éditer un fichier de config en shell


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR