bonjour,

Je rencontre un petit problème dans un script avec la commande awk
à cause de l'apostrophe qui n'est pas interprété dans la commande print

il y a pas d'erreur lors de l'execution mais dans le resultat que je voudrais obtenir j'ai besoin de conserver par exemple le terme type 'SBT_TAPE'

et non type SBT_TAPE


voici un morceau du script

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
 
 
cat /home/${userLinux}/${fichier} | awk '
 
BEGIN {
 
print "su - ${USERLINUX} -c \"";
print "rman target sys/mdp@${INSTANCE} catalog x/y@base_catalogue auxiliary sys/mdp@${INSTANCECLONE}<<!"
print "run {";
print "allocate auxiliary channel dev1 device type 'SBT_TAPE' parms=\"ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin/${REP_USER}/tdpo.opt)\";";
}
NR == 1 {instance = $0}
NR > 1 {
print "set newname for datafile " $1 " to " $2
}
END{
CHEMIN="CHEMIN"
print "duplicate target database to " instance;
print "logfile";
print "GROUP 1  ('"CHEMIN"/redo01.log')  SIZE 50M,";
print "GROUP 2  ('"CHEMIN"/redo02.log')  SIZE 50M,";
print "GROUP 3  ('"CHEMIN"/redo03.log')  SIZE 50M;";
print "}";
print "quit;";
print "!\""
}
'
sauriez vous comment on peut rendre obligatoire l'interpretation de l'apostrophe dans une commande awk ?

Merci