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 может быть указано только одно имя файла.