Bonjour,
je travaille sur un script pour installer des datasource et je bloque sur une partie ! voici le problème :
j'ai un fichier avec les lignes ci dessous:
et j'aimerais en fonction du driver que je veux mettre, soit enlever le # dans le cas mon driver correspond à celui d'une des lignes et laisser et/ou mettre un # dans le cas contraire.#DS_DRIVER_NAME=oracle-11.2.0.4
#DS_DRIVER_NAME=oracle-12.1.0.2
DS_DRIVER_NAME=oracle-12.2.0.1
Par exemple si mon driver que je veux mettre est le 12.1.0.2, les lignes deviendraient ca :
j'ai donc penser à utiliser la commande sed de cette façon :#DS_DRIVER_NAME=oracle-11.2.0.4
DS_DRIVER_NAME=oracle-12.1.0.2
#DS_DRIVER_NAME=oracle-12.2.0.1
mais cela me met cette erreur :
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 #!/bin/bash read -p "driver :" driver while read line do #driver présents dans les lignes drivdef=$(echo $driv_line| awk -F "=" '{print $2}' | awk -F "-" '{print $2}') if [[ $driver == $drivdef ]] && [[ $^ == "#" ]] then sed 's/^#/^ /' $line elif [[ $driver != $drivdef ]] && [[ $^ != "#" ]] then sed 's/^ /^#/' $line fi done <<< $(cat test.txt)
je vous remercie par avance pour votre aide![]()
Partager