Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/10/2016, à 15:21

sebastien29800

modifier du texte en fonction de ce qu'l y a écrit

bonjour à tous !!

soit le fichier texte toto.txt suivant :

# XScreenSaver Preferences File
# Written by xscreensaver-demo 5.34 for sebastien on Wed Oct 12 19:49:51 2016.
# http://www.jwz.org/xscreensaver/

timeout:	2:00:00
cycle:		12:00:00
lock:		True
lockTimeout:	0:00:00
passwdTimeout:	0:00:30
visualID:	default
installColormap:    True
verbose:	False
.
.
.
.
.
.

j'aurais aimer un script qui : si la valeur timeout: est égale à 2:00:00, il la remplace par  0:02:00 sinon , il met la valeur 2:00:00 (en sachant qu'il y a un <TAB> entre timeout: et la valeur et qu'il peut y avoir d'autres 2:00:00 dans le fichier)

je ne maitrise pas du tout sed/ merci à tous !!

merci

Hors ligne

#2 Le 13/10/2016, à 16:56

pingouinux

Re : modifier du texte en fonction de ce qu'l y a écrit

Bonjour,
Essaye ceci

awk -v v1=2:00:00 -v v2=0:02:00 '/^timeout:/{if($2==v1)t=v2;else t=v1;$0=$1"\t"t}{print}' toto.txt

Édité : Ou plus simple

awk -v v1=2:00:00 -v v2=0:02:00 '/^timeout:/{t=$2==v1?v2:v1;$0=$1"\t"t}{print}' toto.txt

Dernière modification par pingouinux (Le 13/10/2016, à 17:01)

Hors ligne

#3 Le 13/10/2016, à 17:20

sebastien29800

Re : modifier du texte en fonction de ce qu'l y a écrit

bonjour pingouinux,

tu es toujours le premier à répondre et tes solutions sont toujours parfaites du premier coup et je t'en remercie!!!!  smile
cependant, je me rends compte que ce que je voulais faire avec ne marchera pas.
je comptais changer à la volée le fichier de config de xscreensaver pour allonger ou réduire le temps de déclenchement de celui-ci.
cependant, xscreensaver ne prend pas en compte ces changements

en gros, ce que j'aurais aimer faire, c'est un seul et même script qui lancé active ou désactive xscreensaver en fonction de son état

voilà ...

merci encore

Hors ligne

#4 Le 13/10/2016, à 17:47

pingouinux

Re : modifier du texte en fonction de ce qu'l y a écrit

en gros, ce que j'aurais aimer faire, c'est un seul et même script qui lancé active ou désactive xscreensaver en fonction de son état

Je ne sais pas faire, désolé… sad

Hors ligne

#5 Le 13/10/2016, à 17:58

sebastien29800

Re : modifier du texte en fonction de ce qu'l y a écrit

merci pour tout, pas de souci

Hors ligne

#6 Le 13/10/2016, à 18:42

sebastien29800

Re : modifier du texte en fonction de ce qu'l y a écrit

ok, j'ai réussi à faire quelque chose, si ça peut servir !!

#! /bin/bash
pgrep xscreensaver
retval=$?
if [ "$retval" = 1 ]
then
xscreensaver -nosplash&
else
pkill xscreensaver
fi

Hors ligne

#7 Le 13/10/2016, à 20:04

MicP

Re : modifier du texte en fonction de ce qu'l y a écrit

En plus court :

#! /bin/bash

pgrep xscreensaver && pkill xscreensaver || xscreensaver -nosplash&

Dernière modification par MicP (Le 13/10/2016, à 20:05)

Hors ligne

#8 Le 14/10/2016, à 15:57

sebastien29800

Re : modifier du texte en fonction de ce qu'l y a écrit

en effet, super merci !!!!

Hors ligne