Tengo una variable cuyo valor se encuentra usando la consulta sql.
Quiero eliminar el nuevo carácter de línea de esa variable ya que quiero concatenar esta variable con la otra. Debajo está el código:
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/}
no necesitas usar el último/
,${var//a}
hará exactamente lo mismo.Parece que necesitas "tr", algo así como:
man tr para detalles, como siempre
fuente
Este trabajo en Linux (bash):
En Linux u otros sistemas con la utilidad de fecha de GNU, esto también funciona para obtener ese valor para dt: (sin involucrar a Oracle ...)
fuente
echo 'puts [clock format [clock scan "-1 week"] -format %Y%b%d]_[clock format [clock scan yesterday] -format %Y%b%d]' | tclsh
del manual Oracle sqlplus
ESTABLECER PÁGINAS [IZE] {14 | n} Establece el número de líneas en cada página de salida. Puede establecer PAGESIZE en cero para suprimir todos los encabezados, saltos de página, títulos, la línea en blanco inicial y otra información de formato.
así que agregue un
set pagesize 0
a su script para evitar un encabezado en blanco.para la mayoría de mis scripts utilizo la configuración en el siguiente código:
fuente