Чтобы показать только первое совпадение с grep
, используйте параметр -m
, например:
grep -m1 pattern file
- m num
,- max-count = num
Остановить чтение файла после совпадения числа.
Превратите свой сценарий SQL в файл шаблона с заполнителями, которые действительно легко сопоставить. Затем создайте настоящий SQL-скрипт из шаблона, когда вы знаете значения переменных :
.template.sql
:
set head on
set feed on
set termout off
set trimspool on
spool ts_verify.log
select tablespace_name from dba_tablespaces where tablespace_name='@@TABLESPACENAME@@';
spool off
set termout on
set trimspool off
exit
Ваш скрипт:
#!/bin/sh
unset ts_name
echo "Please enter the Tablespace Name for which you want to add datafile"
read -r ts_name
# create real SQL script and pass it to `sqlplus`:
sed "s/@@TABLESPACENAME@@/$ts_name/g" template.sql |
sqlplus -s "/ as sysdba"