mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      NEWFORM(1)                                           NEWFORM(1)

      НАЗВАНИЕ
              newform - изменение формата текстового файла

      СИНТАКСИС
       newform  [-s] [-iспециф_табул] [-oспециф_табул] [-b[число_символов]]
		[-e[число_символов]] [-p[число_символов]] [-a[число_символов]]
		[-f] [-cсимвол] [-l[длина]] [файл ...]

      ОПИСАНИЕ
              Команда newform читает строки из указанных файлов  или,
              если файлы не заданы, со стандартного ввода,  выполняет
              переформатирование этих строк и помещает  результат  на
              стандартный вывод. Переформатирование происходит в  со-
              ответствии с заданными в командной строке опциями.

              Все опции, кроме -s, могут появляться в командной стро-
              ке в любом порядке, повторяться, между ними могут вкли-
              ниваться имена файлов. Обработка опций осуществляется в
              том порядке, в каком они заданы. Это  означает,  напри-
              мер,  что  результаты форматирования для последователь-
              ности опций -e15 -l60 отличны от результатов для после-
              довательности -l60 -e15. Опции применяются ко всем фай-
              лам, имена которых присутствуют в командной строке.

              -s   Начальные символы каждой строки, вплоть до первого
                   символа табуляции, отсекаются и в  количестве,  не
                   превышающем 8, помещаются в конец строки. Если от-
                   сечено более 8 символов (не считая табуляции),  то
                   8-й символ заменяется на *, а последующие  символы
                   отбрасываются. Первый символ табуляции  отбрасыва-
                   ется всегда.

                   Если эта опция применяется к файлу, в котором хотя
                   бы одна строка не содержит символа  табуляции,  то
                   выдается сообщение об ошибке и происходит выход из
                   программы. Программа  хранит  отсеченные  символы,
                   пока к данной строке не будут применены все опции.
                   После этого хранимые символы присоединяются к кон-
                   цу обработанной строки.

                   Рассмотрим в  качестве  примера  файл  f1,  каждая
                   строка  которого  начинается  с последовательности
                   цифр, а далее следует один или несколько  символов
                   табуляции  вперемежку  с  текстом. Пусть требуется
                   преобразовать  его  таким  образом,  чтобы  каждая
                   строка  начиналась с текста, все символы табуляции
                   кроме первого были заменены пробелами, длина стро-
                   ки была бы сначала доведена до 72 символов  (путем
                   отбрасывания  лишних символов или дополнения конца
                   строки пробелами), а начиная с 73-й  позиции  была
                   размещена последовательность цифр, с которой начи-
                   нается исходная строка. Это достигается выполнени-
                   ем команды:

                      newform  -s -i -l -a -e f1

              -iспециф_табул
                   Спецификация табуляции при вводе: символы  табуля-
                   ции  заменяются на пробелы в соответствии с задан-
                   ной спецификацией, которая воспринимается в  любой
                   из форм, описанных в tabs(1). Кроме того, специф_-
                   табул  может быть задана как --, и тогда предпола-
                   гается, что собственно спецификация табуляции  на-
                   ходится в первой строке, считанной со стандартного
                   ввода [см. fspec(4)]. Если специф_табул не задана,
                   то  принимается,  что  она  равна  -8 (значение по
                   умолчанию). При специф_табул, равной -0, предпола-
                   гается отсутствие в тексте символов  табуляции;  в
                   случае  их  обнаружения они обрабатываются как при
                   специф_табул, равной -1.

              -oспециф_табул
                   Спецификация табуляции при выводе: пробелы заменя-
                   ются символами табуляции в соответствии с заданной
                   спецификацией, аналогичной по  форме  -iспециф_та-
                   бул. Если специф_табул не задана, то  принимается,
                   что она равна -8.  При  специф_табул,  равной  -0,
                   пробелы при выводе символами табуляции не  заменя-
                   ются.

              -b[число_символов]
                   Отсечь от начала строки указанное число_символов в
                   случае, если длина  строки  превышает  номинальную
                   (см.  -l).  По  умолчанию (когда число_символов не
                   указано) начальные символы отсекаются в  количест-
                   ве,  необходимом  для получения строки номинальной
                   длины. Опцию -b можно использовать, например,  для
                   удаления  порядковых номеров строк из программы на
                   КОБОЛе (файл f2), что делается следующим образом:

                      newform  -l1 -b7 f2

                   Использование опции -l1 обусловлено необходимостью
                   установки номинальной длины, меньшей чем длина лю-
                   бой существующей строки, с тем чтобы  активировать
                   опцию -b.

              -e[число_символов]
                   Аналогично  -b с тем отличием, что символы отсека-
                   ются от конца строки.

              -p[число_символов]
                   Добавить в начало строк с  длиной,  меньшей  номи-
                   нальной,  указанное число одинаковых символов (см.
                   -c). Если число_символов не указано, строки допол-
                   няются до номинальной длины.

              -a[число_символов]
                   Аналогично -p с тем отличием, что пополняется  ко-
                   нец строки.

              -f   Поместить строку в формате спецификации  табуляции
                   на стандартный вывод до всех других строк. Выводи-
                   мая спецификация задается последней опцией -o. Ес-
                   ли опция -o не была указана  ни  разу,  помещается
                   принимаемая по умолчанию спецификация -8.

              -cсимвол
                   Заменить  символ, которым пополняется начало/конец
                   строки, на указанный символ. По  умолчанию  в  ка-
                   честве заполнителя используется пробел.

              -l[длина]
                   Установить  номинальную  длину  строки. Если длина
                   опущена, то номинальная длина  строки  принимается
                   равной 72. Если опция -l не задана вовсе, то номи-
                   нальная длина принимается равной 80. Следует заме-
                   тить, что каждый символ табуляции и забоя рассмат-
                   ривается как единичный символ (для замены символов
                   табуляции пробелами необходимо воспользоваться оп-
                   цией -i).

      СМ. ТАКЖЕ
              csplit(1), tabs(1).
              fspec(4) в Справочнике программиста.

      КОДЫ ЗАВЕРШЕНИЯ
              0    Нормальное завершение.
              1    Зафиксированы ошибки.

      ДИАГНОСТИКА
              Появление любой диагностики означает фатальную ошибку.

              usage: ...
                   Команда вызвана с недопустимой опцией.

              not -s format
                   Обнаружена строка, не содержащая  символа  табуля-
                   ции.

              can't open file
                   Не открывается файл.

              internal line too long
                   Строка, будучи расширена путем замены символов та-
                   буляции  пробелами  или иным способом, не помести-
                   лась во внутренний рабочий буфер из 512 байт.

              tabspec in error
                   Спецификация табуляции имеет  недопустимый  формат
                   или  позиции табуляции заданы не в порядке возрас-
                   тания.

              tabspec indirection illegal
                   Спецификация табуляции, считанная из  файла  (либо
                   со  стандартного ввода), не может содержать ссылку
                   на спецификацию в другом файле.

      СЮРПРИЗЫ
              Командой  newform  обычно отслеживают только физические
              символы; однако в случае опций -i  и  -o  отслеживаются
              также  символы  забоя, чтобы символы табуляции отмечали
              надлежащие логические колонки.

              Командой newform не выдается приглашение  пользователю,
              если спецификация табуляции должна считываться со стан-
              дартного ввода (при использовании опций -i-- или -o--).

              Если используется опция -f, а из опций -o последней бы-
              ла указана -o-- и ей предшествовала какая-либо из опций
              -i-- или -o--, то формат строки спецификации  табуляции
              будет некорректным.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк