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 24/10/2007, 12h24   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 1
Points : 0
Points : 0
Par défaut modifier un caractere dans un fichier

Bonjour à tous,

Je dois modifier un fichier 2 fois par an (changement d'heure)

et dois modifier la ligne:
TIMEZONE = 08+
en la remplacant par
TIMEZONE = 04+

Enfantin me dirais vous. Oui surement, mais pas pour un débutant :-)

En fait, je voudrais créer un shell qu'une crontab lancera le dernier dimanche du mois de mars et d'octobre (ca c bon, j'ai deja fait :-)

Merci beaucoup !!
gilloux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2007, 14h36   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 497
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 497
Points : 9 677
Points : 9 677
Bonjour,

Es-tu certain que la modification d'un fichier texte suffit à changer l'heure réelle de la machine ?

Exemple en perl pour remplacer, une fois par ligne, str1 par str2 dans le fichier /home/mon_fichier.txt

Code :
/usr/bin/perl -pi -e 's/str1/str2/' /home/mon_fichier.txt
Attention : pour les scripts cronatb, il est absolument nécessaire d'utiliser les chemins absolus.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2007, 22h11   #3
Membre expérimenté
 
Avatar de BlaireauOne
 
Inscription : mars 2007
Messages : 469
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2007
Messages : 469
Points : 576
Points : 576
Applique la substitution de 04 en 08 sur la ligne du fichier contenant la chaîne TIMEZONE

Avec sed du gnu :

Code :
sed -i '/TIMEZONE/s/04/08' fichier

Avec sed autre :

Code :
1
2
sed '/TIMEZONE/s/04/08' fichier > tmp 
mv tmp fichier
__________________
Loi de Murphy:
La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.
BlaireauOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h13.


 
 
 
 
Partenaires

Hébergement Web