Bonjour,

Je cherche pourvoir sauvegarder dans dans 2 fichiers différents la sortie standard d'un script, tout en laissant s'afficher a l'écran.

Je m'explique mieux : Lorsque j'exécute mon script, j'ai le résultat suivant a l'écran, je voudrais faire le trie dans mon résultat, c'est à dire sauvegarder la première partie du résultat dans un fichier juste avant les #
WAIT ON = 2);

------------->

et l'autre partie dans un autre fichier :

########################################################################

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
:~/exploit_slony$ perl script_slony.pl -s 1/2 -yaml
CLUSTER NAME = mon_cluster;
node 1 admin conninfo = ' dbname=ma_base_par_defaut host=master-db01.s1.p.fti.net user=mon_user_sur_le_noeud_1 password=mon_mot_de_passe_sur_le_noeud_1 port=5432';
node 4 admin conninfo = ' dbname=ma_base_par_defaut host=slave-db01.b1.p.fti.net user=mon_user_par_defaut password=mon_mot_de_passe_par_defaut port=5432';
node 3 admin conninfo = ' dbname=ma_base_par_defaut host=master-db01.b1.p.fti.net user=mon_user_par_defaut password=mon_mot_de_passe_par_defaut port=5432';
node 2 admin conninfo = ' dbname=ma_base_sur_le_noeud_2 host=slave-db01.s1.p.fti.net user=mon_user_par_defaut password=mon_mot_de_passe_par_defaut port=5432';
LOCK SET (ID = 1, ORIGIN = 1);
MOVE SET (ID = 1, OLD ORIGIN = 1, NEW ORIGIN = 2);
WAIT FOR EVENT(ORIGIN = 2, CONFIRMED = 1, WAIT ON = 2);
########################################################################
#
# Stocke la configuration de la réplication Slony courante
#
# Le language utilisé est le YAML http://en.wikipedia.org/wiki/Yaml
#
# Contact : admin02@localhost - Oct 2007
#
# RESPECTEZ BIEN LE FORMATTAGE (pas d'espace en fin de ligne)
########################################################################
 
# connect string that slony will use by default
# $conninforef
---
cluster: mon_cluster
dbname: ma_base_par_defaut
password: mon_mot_de_passe_par_defaut
port: 5432
user: mon_user_par_defaut
# $nodesref
# information to overload default parameter ($conninforef)
#ID:
#  host: hostname
#  port: port number
#  dbname: database name
#  user: username
#  password: password string
---
1:
  host: master-db01.s1.p.fti.net
  password: mon_mot_de_passe_sur_le_noeud_1
  user: mon_user_sur_le_noeud_1
2:
  dbname: ma_base_sur_le_noeud_2
  host: slave-db01.s1.p.fti.net
3:
  host: master-db01.b1.p.fti.net
4:
  host: slave-db01.b1.p.fti.net
# map logical paths of slony replication
# $logicpathsref
# source: target
---
- 2: 1
- 1: 3
- 3: 4
# set of tables replicated
# $slony_sets
# ID
---
- 1

L'objectif c'est de créer une procédure avec des grep ou des sed.., l'inconvénient c'est que si on crée une procédure avec par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
perl mon_script.pl -s 1/2 -yaml > ma_sauvegarde
Avec cette idée, du coup je n'affiche plus le résultat de mon script à l'écran.


Si un sysadmin pourrait me donner un petit conseil,

Je vous remercie d'avance et m'excuse de la gêne occasionnée.