GET(1)
НАЗВАНИЕ 
	get - извлечение версии из SCCS-файла
 СИНТАКСИС
 
    get  [-rс_идентификатор] [-cкон_время] [-iсписок] [-xсписок] [-k]
         [-e] [-l[p]] [-p] [-m] [-n] [-s] [-b] [-g] [-t] [-wтекст]
         [-aпорядковый_номер] файл ...
ОПИСАНИЕ 
	Команда get  генерирует  текстовый  файл  из  указанных
	SCCS-файлов в соответствии с опциями. Опции могут задаваться в любом порядке и относятся  ко  всем  указанным
	SCCS-файлам. Если указано имя каталога, get обрабатывает все файлы в этом каталоге, начинающиеся с s.; файлы,
	к которым нет доступа на чтение, игнорируются  без  дополнительных сообщений. Если указано имя -,  происходит
	чтение со стандартного ввода; каждая  строка  при  этом
	трактуется, как имя SCCS-файла, подлежащего  обработке.
	Файлы, не начинающиеся с s., и  файлы,  к  которым  нет
	доступа на чтение, также игнорируются без  дополнительных сообщений.
 	Сгенерированный текст обычно записывается в так называемый g-файл. Имя g-файла получается путем удаления  начальных s. из имени SCCS-файла (см. ниже).
 	Каждая опция об ясняется ниже для одного обрабатываемого файла; при нескольких файлах она применяется к  каждому из них.
 
-  -rс_идентификатор  
 -   Извлечь из SCCS-файла версию по указанному с_иден-
	     тификатору (SID, SCCS IDentification string). Таблица 1 (ниже) показывает для наиболее  распространенных случаев, как зависит извлекаемая версия  от
	     указанного  с_идентификатора,  а также каким будет
	     с_идентификатор новой версии после создания командой delta(1) (если в get использована опция -e).
 -  -cкон_время  
 -    Кон_время имеет формат:
   гг[мм[дд[чч[мм[сс]]]]]
 
Не включать в генерируемый файл версии SCCS-файла, которые созданы после указанного кон_времени. Опущенные цифры по умолчанию имеют  максимально  возможные   значения,  например  -c7502  эквивалентно  -c750228235959. Произвольное число любых  нецифровых  символов  может разделять пары цифр, например   можно задать кон_время в виде "-c77/2/2  9:22:25". Это  позволяет  использовать  ключевые слова %E% и  %U% (см. ниже) для вложенных get, например, в  сеансе работы с командой cu(1C):
   ~!get  "-c%E% %U%" s.file
 
 -  -e   
 -   Показывает, что команда get делается для  редактирования  или  последующего  добавления  версии   в
	     SCCS-файл с помощью delta(1). Если для  какой-либо
	     версии в SCCS-файле сделан get, последующие версии
	     с тем же с_идентификатором отвергаются до тех пор,
	     пока не  будет  выполнена  команда  delta  [или  в
	     SCCS-файле не будет установлен  флаг  j,  см.  admin(1)]. Допускается использование команды get  -e одновременно для разных с_идентификаторов.
	     Если сгенерированный  командой  get  с  опцией  -e  g-файл случайно испорчен, он может быть  перегенерирован командой get с опцией -k вместо -e.
 	     Ограничение прав доступа к версиям SCCS-файла  организуется с помощью запоминаемого в файле  максимального и минимального номера  версии,  доступной
	     для редактирования, и списка пользователей,  которые могут редактировать версии [см. admin(1)]. При использовании опции -e все эти права проверяются.
  -  -b  
 -    Используется вместе в опцией -e для указания,  что
	     новая  версия должна начинать ответвление, как показано в таблице 1. Опция -b игнорируется, если  в
	     SCCS-файле  отсутствует  флаг b [см. admin(1)] или
	     извлекаемая версия не  является  терминальной  (то
	     есть  у  нее  есть  преемники  в   дереве   версий
	     SCCS-файла).  Для нетерминальных версий всегда будет строиться ответвление.
 -  -iсписок  
 -   Список версий, которые должны  быть  включены  при
	     генерации файла. Список имеет следующий синтаксис:
   <список>  ::= <элемент> | <список>,<элемент>
   <элемент> ::= СИД | СИД-СИД
 
	     где СИД - сокращение от  с_идентификатор  -  может
	     иметь любой формат, упомянутый в колонке  "Указанный СИД" таблицы 1. Интерпретация значений показана в колонке "Извлеченный СИД" таблицы 1.
 -  -xсписок  
 -    Список версий, которые не должны быть включены при
	     генерации  файла. Формат списка см. в описании опции -i.
 -  -k   
 -   Подавить при генерации подстановку значений вместо
	     ключевых слов (см. ниже). Опция -k подразумевается
	     опцией -e.
 -  -l[p]  
 -   Выдать сведения о версиях в l-файл. Если  используется опция -lp, l-файл не создается, все сведения  пишутся на стандартный вывод. Формат l-файла
	      описан ниже.
 -  -p 
 -   Текст, извлеченный из SCCS-файла, пишется на стандартный вывод. G-файл не создается.  Все  то,  что
	     обычно пишется на стандартный вывод, при этом, если указана опция -s, не выводится никуда  (исчезает), а если опция  -s  опущена,  переадресуется  в
	     стандартный протокол.
 -  -s 
 -   Подавить выдачу на  стандартный  вывод.  Выдача  в
	     стандартный протокол (в том числе сообщения о  фатальных ошибках) при этом не подавляется.
 -  -m  
 -  Перед каждой строкой, извлеченной  из  SCCS-файла,
	     помещается с_идентификатор версии, в  которой  она
	     появилась, в следующем формате:
   с_идентификатор табуляция строка
 
 -  -n 
 -   Перед каждой строкой, извлеченной  из  SCCS-файла,
	     помещается значение ключевого слова %M%  (см.  ниже) в соответствии с форматом:
   %M% табуляция строка
 
	     Если опции -m и -n используются одновременно, формат будет таким:
   %M% табуляция с_идентификатор табуляция строка
 
 -  -g  
 -  Подавить генерацию g-файла. Эта опция используется
	     для генерации l-файла или для проверки существования конкретного с_идентификатора.
 -  -t 
 -   Получить доступ к самому последнему  (по  времени)
	     состоянию указанной версии (например -r1) или версии и уровню (например -r1.2).
 -  -wтекст  
 -   Подставить  текст вместо всех вхождений %W% в извлекаемый файл.
 -  -aпорядковый_номер  
 -    Порядковый номер версии SCCS-файла, которая должна
	     быть извлечена (см. sccsfile(4)).  Эта  опция  используется командой comb(1), пользователям ее применять не рекомендуется. Если указаны одновременно
	     опции -r и -a, принимается  опция  -a.  Необходимо
	     соблюдать осторожность при одновременном использовании опций -a и -e, так как с_идентификатор  создаваемой версии может оказаться  не  тем,  который
	     ожидается. Для управления  с_идентификатором  создаваемой версии  можно  использовать  одновременно
	     опции -a, -e и -r.
  
	Для каждого обрабатываемого файла команда  get  выводит
	на   стандартный  вывод  с_идентификатор  и  количество
	строк, извлеченных из SCCS-файла. Если используется опция -e, вслед за с_идентификатором, к которому  получен
	доступ, следует вновь созданный с_идентификатор. Если в
	команде  указано более одного файла, указан каталог или
	стандартный ввод, перед обработкой каждого файла  выводится  его  имя с предшествующим переводом строки. Если
	используется опция -i, выводятся включаемые версии,  за
	которыми  следует слово Included. Если используется опция -x, выводятся исключаемые версии, за которыми  следует слово Excluded.
  Таблица 1. Определение с_идентификатора (СИД)
 
| Указанный СИД*  |  Опция -b****  |  Дополнительные условия  |  Извлеченный СИД  |  СИД создаваемой  версии 
 | 
|---|
 | <пусто>*****  | нет   |    R по умолч.=mR   |   mR.mL   |  mR.(mL+1)        
 |  | <пусто>*****  | да   |   R по умолч.=mR    |  mR.mL  |   mR.mL.(mB+1).1   
 |  | R     |    нет   |    R > mR    |    mR.mL  |  R.1***           
 |  | R    |     нет   |   R = mR   |      mR.mL   |   mR.(mL+1)        
 |  | R    |     да   |   R > mR    |   mR.mL  |   mR.mL.(mB+1).1   
 |  | R    |    да   |   R = mR     |    mR.mL   |   mR.mL.(mB+1).1   
 |  |        |        |    R < mR и         |        |                  
 |  | R   |    -  |    R не существует   hR.mL**  |  hR.mL.(mB+1).1   
 |  |    |     |    R < mR и        |           |                 
 |  | R    |    -    |    R существует   |   R.mL  |   R.mL.(mB+1).1    
 |  | R.L   |    нет   |   L = mL    |     R.L    |    R.(L+1)          
 |  | R.L    |  да   |   L = mL    |     R.L   |    R.L.(mB+1).1     
 |  | R.L   |    -   |   L < mL    |   R.L    |    R.L.(mB+1).1     
 |  | R.L.B   |   нет   |   B = mB    |   R.L.B.mS  |  R.L.B.(mS+1)     
 |  | R.L.B    |   да   |   B = mB    |    R.L.B.mS  |  R.L.(mB+1).1     
 |  | R.L.B.S  |  нет  |   B = mB     |    R.L.B.S   |  R.L.B.(S+1)      
 |  | R.L.B.S  |   да   |   B = mB     |  R.L.B.S  |   R.L.(mB+1).1     
 |  | R.L.B.S   |  -  |   B < mB     |    R.L.B.S   |  R.L.(mB+1).1     
 |   
| *   |   R, L, B, и S - это соответствующие компоненты с_идентификатора: выпуск (release), уровень  (level),
	     ветвь (branch), модификация (sequence); m означает
	     максимум.  Таким  образом, например, R.mL означает
	     максимальный номер уровня в версии R; R.L.(mB+1).1
	     означает первый номер новой ветви (то есть  максимальный номер ветви плюс 1) уровня L версии R. При указании  с_идентификатора  в  виде R.L, R.L.B или
	     R.L.B.S каждый из указанных компонентов должен существовать.
 | 
|---|
 | **  |   hR - это максимальная существующая  версия,  меньшая, чем указанная несуществующая версия R.
 | 
|---|
 | ***  |  Используется для создания первой версии нового выпуска.
 | 
|---|
 | ****  | Опция  -b  работает, только если в SCCS-файле присутствует флаг b [см. admin(1)].  Если  в  колонке указан -, то значение может быть любым.
 | 
|---|
 | *****  | Применимо, только если флаг d (с_идентификатор по
	      умолчанию) в файле не установлен. Если флаг d установлен, используется его значение, как если  бы оно было указано в команде. Тем самым применяются
	      другие строки таблицы 1.
 | 
|---|
  
Идентифицирующие ключевые слова  
	Идентифицирующая информация вставляется  в  извлекаемый
	текст вместо идентифицирующих ключевых слов. В текстах,
	сохраняемых в SCCS-файлах, могут использоваться следующие ключевые слова:
 
| %M%  |  Имя модуля: либо значение флага m [см.  admin(1)],
	     либо,  если  флаг  m  отсутствует,   простое   имя
	     SCCS-файла в котором удалены передние s..
 | 
|---|
 | %I%  |  С_идентификатор   (%R%.%L%.%B%.%S%)   извлекаемого
	     текста.
 | 
|---|
 | %R%  |  Выпуск (release).
 | 
|---|
 | %L%  |  Уровень (level).
 | 
|---|
 | %B%  |  Ветвь (branch).
 | 
|---|
 | %S%  |  Модификация (sequence).
 | 
|---|
 | %D%  |  Текущая дата (гг/мм/дд).
 | 
|---|
 | %H%  |  Текущая дата (мм/дд/гг).
 | 
|---|
 | %T%  |  Текущее время (чч:мм:сс).
 | 
|---|
 | %E%  |  Дата создания последней версии (гг/мм/дд).
 | 
|---|
 | %G%  |  Дата создания последней версии (мм/дд/гг).
 | 
|---|
 | %U%  |  Время создания последней версии (чч:мм:сс).
 | 
|---|
 | %Y%  |  Тип модуля: значение флага t в SCCS-файле [см. admin(1)].
 | 
|---|
 | %F%  |  Простое имя SCCS-файла.
 | 
|---|
 | %P%  |  Полное имя SCCS-файла.
 | 
|---|
 | %Q%  |  Значение флага q в SCCS-файле [см. admin(1)].
 | 
|---|
 | %C%  |  Текущий номер строки. Это ключевое слово  предназначено для идентификации  ошибок  типа  "этого  не   должно быть". Оно не предназначено для использования в каждой строке для нумерации.
 | 
|---|
 | %Z%  |  Четырехсимвольная  цепочка  @(#),   распознаваемая
	     программой what(1).
 | 
|---|
 | %W%  |  Сокращение  для  создания строк выполняемых файлов
	     версии 5 для what(1): %W% = %Z%%M% табуляция %I%
 | 
|---|
 | %A%  |  Сокращение для создания строк  выполняемых  файлов
	     не версии 5 для what(1): %A% = %Z%%Y%  %M%  %I%%Z%
 | 
|---|
  
	Команда  get  создает  несколько дополнительных файлов:
	g-файл, l-файл, p-файл и z-файл.  Имена  дополнительных
	файлов  формируются  из  имени  SCCS-файла: простое имя
	SCCS-файла должно начинаться с s.; имя g-файла  получается путем удаления s., имена остальных файлов строятся
	путем  замены первого символа s соответственно на l, p,
	z. Например, для файла  s.xyz.c,  дополнительные  файлы
	будут   иметь   имена  соответственно  xyz.c,  l.xyz.c,
	p.xyz.c и z.xyz.c.
 	G-файл, содержащий сгенерированный текст,  создается  в
	текущем  каталоге  (если  не  используется  опция  -p).
	G-файл создается даже если из SCCS-файла get не  извлек
	ни одной строки. За идентификатор владельца берется реальный идентификатор  пользователя.  Если  используется
	опция -k, права доступа к файлу устанавливаются равными
	644, иначе  444.  Реальный  идентификатор  пользователя
	должен быть таким, чтобы позволить запись в текущий каталог.
 	L-файл содержит таблицу, показывающую, какие версии были использованы при генерации текста. L-файл  создается
	в текущем каталоге при использовании опции -l; его права доступа 444, идентификатор владельца равен реальному
	идентификатору  пользователя.  Реальный   идентификатор
	пользователя должен быть таким, чтобы позволить  запись
	в текущий каталог.
 	Строки l-файла имеют следующий формат:
 
-  Пробел, если версия использована; * в противном
		случае.
 -  Пробел, если версия использована или проигнорирована; *, если версия  не  использована  и  не проигнорирована.
 -  Код причины, почему версия была или не была использована:
  I:  Включена по опции -i.
  X:  Исключена по опции -x.
  C:  Время не  соответствует  указанному  в  опции -c. 
 -  Пробел.
 -  С_идентификатор.
 -  Табуляция.
 -  Дата и время создания (гг/мм/дд чч:мм:сс).
 -  Пробел.
 -  Входное имя пользователя, создавшего версию.
	     Комментарии и номер причины модификации  выводятся
	     на следующих строках, перед ними один знак табуляции. Каждая запись заканчивается пустой строкой.
   
	P-файл используется для передачи информации  от  get  с
	опцией -e к delta. Его  содержимое  также  используется
	для предотвращения последующего выполнения get -e с тем
	же с_идентификатором, пока не будет  выполнена  команда
	delta или в SCCS-файле не будет установлен флаг j, [см.
	admin(1)].  P-файл  создается  в  каталоге,  содержащем
	SCCS-файл, действующий идентификатор пользователя  должен быть таким, чтобы разрешить запись в этот  каталог.
	Права доступа к файлу равны 644, идентификатор владельца равен действующему идентификатору пользователя. Формат  p-файла  следующий:  извлеченный  с_идентификатор,
	пробел, новый с_идентификатор, пробел, имя,  соответствующее реальному идентификатору  пользователя,  пробел,
	дата и время выполнения get, пробел, аргумент опции  -i
	(если есть), пробел, аргумент опции -x (если есть), перевод строки. В  p-файле  может  быть  различное  число
	строк; никакие две из них не могут содержать один и тот
	же новый с_идентификатор.
 	Z-файл служит как файл-замок для защиты от  одновременных  изменений.  Его  содержимое - двоичный двухбайтный
	идентификатор процесса get, создавшего  z-файл.  Z-файл
	создается  в  каталоге,  содержащем SCCS-файл, на время
	выполнения get. Права доступа к z-файлу 444,  остальное
	то же, что и для p-файла.
 ФАЙЛЫ
 
        g-файл          Существует до выполнения команды delta;
			удаляется после ее завершения.
	p-файл          Существует до выполнения команды delta;
			может остаться после ее завершения.
	q-файл          Создается  во  время выполнения команды
			delta; удаляется после ее завершения.
	x-файл          Создается во время  выполнения  команды
			delta;  переименовывается  в  SCCS-файл
			после ее завершения.
	z-файл          Создается во время  выполнения  команды
			delta;  удаляется также во время ее вы-
			полнения.
	d-файл          Создается во время  выполнения  команды
			delta; удаляется после ее завершения.
	/usr/bin/bdiff  Программа  для выявления различий между
			"извлеченным" и g-файлом.
СМ. ТАКЖЕ 
	admin(1), delta(1), help(1), prs(1), what(1).
	sccsfile(4) в Справочнике программиста.
 ДИАГНОСТИКА 
 	Для раз яснений пользуйтесь командой help(1).
 СЮРПРИЗЫ 
	Если действующий идентификатор  пользователя  позволяет
	запись  (явно  или  неявно)   в   каталог,   содержащий
	SCCS-файлы, а реальный идентификатор пользователя этого
	не позволяет, то при использовании опции -e  в  команде
	get может быть указано только одно имя файла.
 
 |