J'ai une variable dont la valeur est trouvée en utilisant la requête SQL.
Je veux supprimer le nouveau traiteur de ligne de cette variable car je veux concaténer cette variable avec l'autre. Voici le code:
dt=`sqlplus -s user/pwd@servicename <<EOF
set feedback off;
set head off;
select replace(to_char((sysdate-7),'YYYYMonDD')||'_'||to_char((sysdate-1),'YYYYMonDD'),chr(10), '') from dual;
exit;
EOF`
echo "test $dt"
${var//a/}
vous n'avez pas besoin d'utiliser en dernier/
,${var//a}
fera exactement la même chose.On dirait que vous avez besoin de "tr", quelque chose comme:
man tr pour les détails, comme d'habitude
la source
Ce travail sur Linux (bash):
Sous Linux, ou d'autres systèmes avec l'utilitaire de date de GNU, cela fonctionne également pour obtenir cette valeur pour dt: (sans impliquer Oracle ...)
la source
echo 'puts [clock format [clock scan "-1 week"] -format %Y%b%d]_[clock format [clock scan yesterday] -format %Y%b%d]' | tclsh
du manuel Oracle sqlplus
FIXER DES PAGES [IZE] {14 | n} Définit le nombre de lignes sur chaque page de sortie. Vous pouvez définir PAGESIZE sur zéro pour supprimer tous les en-têtes, les sauts de page, les titres, la ligne vierge initiale et d'autres informations de mise en forme.
ajoutez donc un
set pagesize 0
à votre script pour éviter une ligne vide de titre.pour la plupart de mes scripts, j'utilise les paramètres du code suivant:
la source