Как обновить вид файла
В Enterprise Guide 4.2 есть ли способ обновить представление файла, не удаляя его из Process Flow, а затем снова открывая его?
Мой Google-фу не смог дать ответ (так или иначе), и мой администратор SAS сказал, что не знает пути (но дал ему знать, если я найду один).
Окончательное "нет" (из документации) или "да" с примером будет высоко ценится.
У меня есть файл журнала, который обновляется, когда я запускаю свою программу SAS из командной строки (за пределами EG). Я редактирую свой код в EG, и я хотел бы заглянуть в файл журнала, чтобы увидеть результаты. В настоящее время я должен удалить файл журнала из моего потока процессов, а затем снова открыть его, чтобы увидеть обновленный журнал.
2 ответа
Из вашего последнего комментария на ваш вопрос кажется, что вы запускаете неинтерактивную программу SAS на сервере (из сеанса PuTTY) и просматриваете файл журнала с помощью своего клиента EG, это правильно? Если это так, есть гораздо более простые способы просмотра файла журнала.
Когда вы упоминаете PuTTY, я предполагаю, что ваш сервер - UNIX. Если это так, используйте tail
команда с -f
вариант. Например, если ваша программа SAS называется "myprog.sas", она создаст файл журнала с именем "myprog.log", поэтому попробуйте эту команду в командной строке UNIX:
tail -f myprog.log
-f
опция означает продолжить запись вывода в окно терминала, так как строки записываются в журнал. Если вам надоест смотреть (или вы видите сообщение SAS "конец работы"), введите букву "q", чтобы выйти.
EG - это приложение, которое вы используете для фактического выполнения вашей программы SAS. Запуск вещей из командной строки UNIX выходит за рамки дизайна (и вы теряете все эти классные функции EG), а также упускаете все функции сайта, которые были настроены для вас в среде метаданных.
Если я совершенно не в себе, уточните ваш вопрос.
При использовании SAS EG или SAS Studio на платформе SAS, где вычислительные узлы размещаются на машинах Linux, я всегда использую код для просмотра содержимого выходного файла, созданного SAS; Единственные требования - чтобы вы знали полный путь к файлу, который вы хотите просмотреть, и чтобы у вас были права на чтение из него.
Простая идея заключается в использовании общего шага DATA для:
- Доступ к файлу
- Читать построчно
- Фильтрация данных по содержанию, позиции, номеру строки и т. Д.
- Распечатайте данные в журнал SAS, чтобы вы могли увидеть их там
Вот простой пример, чтобы начать работу:
Сначала я создаю файл для теста. У вас уже есть!, так что используйте свой.
/* create a test file */ data _null_; file '/folders/myshortcuts/test/file'; /* Note I'm using fullpath */ put "The begining, :)"; put "line 2 in my file is shy and likes to hide."; put "line 3, all good so far."; put "line 4 in my file is to remain private."; put "Finally the last line in my file!"; run;
Тогда вот код для чтения своих данных
data _null_; /*-------- references which input file will be read setting variable 'theEnd'=1 when reaches end-of-file Note I'm using fullpath --------*/ infile '/folders/myshortcuts/test/file' end=theEnd; /*-------- reads one line at a time from input file storing it in variable _infile_ --------*/ input; /*-------- contents of file will be writen in the log, to keep it readable, mark where the contents of the file will follow --------*/ if _n_=1 then put "-----start file ----"; /*-------- filter out shy, private or unwanted data --------*/ if _n_ ne 4; /* continue only if row number is not 4 */ if indexw(_infile_,"shy") le 0; /* continue only if data does not contains 'shy' */ /*-------- write the data you want, complete line read in this case --------*/ put _N_= "->" _infile_; /*-------- mark where the data in the file has ended --------*/ if theEnd then put "-----end file ----"; run;
Ваш журнал SAS будет выглядеть так:
NOTE: The infile '/folders/myshortcuts/test/file' is: Filename=/folders/myshortcuts/test/file, Owner Name=sasdemo,Group Name=sas, Access Permission=-rw-rw-r--, Last Modified=11Jan2017:22:42:56, File Size (bytes)=160 -----start file ---- _N_=1 ->The begining, :) _N_=3 ->line 3, all good so far. _N_=5 ->Finally the last line in my file! -----end file ---- NOTE: 5 records were read from the infile '/folders/myshortcuts/test/file'. The minimum record length was 16. The maximum record length was 43. NOTE: DATA statement used (Total process time): real time 0.02 seconds cpu time 0.03 seconds