У меня есть переменная, значение которой найдено с помощью SQL-запроса.
Я хочу удалить новую строку charcater из этой переменной, так как я хочу объединить эту переменную с другой. Ниже приведен код:
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/}
вам не нужно использовать последний/
,${var//a}
будет делать то же самое.Похоже, вам нужно "tr", что-то вроде:
Человек, как обычно, подробно, как обычно
источник
Эта работа на Linux (Bash):
В Linux или других системах с утилитой даты GNU это также работает, чтобы получить это значение для dt: (без привлечения Oracle ...)
источник
echo 'puts [clock format [clock scan "-1 week"] -format %Y%b%d]_[clock format [clock scan yesterday] -format %Y%b%d]' | tclsh
из руководства Oracle sqlplus
НАСТРОЙКИ СТРАНИЦ [ИЗЭ] {14 | n} Устанавливает количество строк на каждой странице вывода. Вы можете установить PAGESIZE на ноль, чтобы скрыть все заголовки, разрывы страниц, заголовки, начальную пустую строку и другую информацию о форматировании.
поэтому добавьте
set pagesize 0
в свой скрипт, чтобы избежать пустой строки заголовка.для большинства моих сценариев я использую настройки в следующем фрагменте кода:
источник