Вот гораздо более простое решение: вместо того, чтобы пытаться найти строки, которые нужно игнорировать, отметьте строки для обработки:
select concat("JHFDGFSH ",file_name) from dev_files
Теперь все, что вам нужно сделать, - это игнорировать любую строку, которая неначните с JHFDGFSH
.
[РЕДАКТИРОВАТЬ] Если вы не можете этого сделать: начните чтение, когда вы нажмете строку, которая всего ----
, и остановитесь на первой пустой строке.Это должно сработать, если Oracle не начнет пейджинг.
И откройте вопрос для апстрима, чтобы сказать им, что их интерфейс хрупок и что он со временем сломается.
Если это такОК, это не ваша проблема и не ваша вина, когда он ломается и производство останавливается на пару дней;просто покажите проблему и скажите «видите? Вы хотели это так».
Также KSH, вероятно, не тот инструмент;взгляните на awk
.Это должно работать:
/^---+/,/^[ \t]*$/ { print; }
Если вы не можете использовать awk, как насчет обработки каждой строки как имени файла и игнорирования тех, которые не существуют?
Пока никто не используетсоздает файл с именем FILE_NAME
, 4 rows selected.
или SQL> spool off
, вы должны найти его, если будете уверены, что правильно указали в кавычках все строки.