Ich habe eine Variable, deren Wert mit SQL-Abfrage gefunden wird.
Ich möchte das neue Zeilenzeichen aus dieser Variablen entfernen, da ich diese Variable mit der anderen verketten möchte. Unten ist der 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/}
Sie nicht zuletzt verwenden/
,${var//a}
wird genau das gleiche tun.Klingt so, als ob Sie "tr" brauchen, so etwas wie:
man tr wie immer für detail
quelle
Diese Arbeit unter Linux (Bash):
Unter Linux oder anderen Systemen mit dem Datums-Dienstprogramm von GNU funktioniert dies auch, um diesen Wert für dt zu erhalten: (ohne Oracle einzubeziehen ...)
quelle
echo 'puts [clock format [clock scan "-1 week"] -format %Y%b%d]_[clock format [clock scan yesterday] -format %Y%b%d]' | tclsh
aus dem Oracle sqlplus-Handbuch
SEITEN EINSTELLEN [IZE] {14 | n} Legt die Anzahl der Zeilen auf jeder Ausgabeseite fest. Sie können PAGESIZE auf Null setzen, um alle Überschriften, Seitenumbrüche, Titel, die anfängliche Leerzeile und andere Formatierungsinformationen zu unterdrücken.
Fügen Sie
set pagesize 0
daher Ihrem Skript ein hinzu, um eine Leerzeile zu vermeiden.Für die meisten meiner Skripte verwende ich die Einstellungen im folgenden Code:
quelle