18.8.4. Пропуск строк в файлах

18.8.4. Пропуск строк в файлах

Рассмотрим файл, содержащий перечень сотрудников. Этот файл уже использовался ранее, но теперь он будет включать некоторую заголовочную информацию.

$ pg names2.txt

LISTING OF PERSONNEL FILE

TAKEN AS AT 06/1999

Louise Conrad:Accounts:ACC8987

Peter James:Payroll:PR489

Fred Terms:Customer:CUS012

Janes Lenod:Accounts:ACC887

Frank Pavely:Payroll:PR4S9

При просмотре этого файла нетрудно заметить, что его первые две строки не содержат сведений о сотрудниках. Поэтому эти строки желательно исключить.

Также не следует принимать во внимание сведения о сотруднике с именем Peter

james Этот человек уволился из компании, но запись о нем осталась в файле.

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

Вот сценарий, выполняющий описанные задачи

$ pg whilecontinue

#!/bin/sh

# whilecontinue

SAVFDIFS=$IFS

IFS=:

INPUT_FlLE=names2.txt

NAME_HOLD="Peter James"

LINE_NO=0

if [ -s $INPUT_FILE ]; then

while read NAME DEPT ID

do

LINE_NO=`expr $LINE_NO + 1`

if [ "$LINE_NO" — le 2 ]; then

# допуск, если номер строки меньше 2 continue

if [ "$NAME"="$NAME_HOLD" ], then

# пропуск, если переменной NAME_HOLD присвоено имя Peter James

continue

else

echo " Now processing $NAME $DEPT $ID"

# обработка файла

fi

done < $INPUT_FILE

IFS=$SAVEDIFS

else

echo "`basename $0` : sorry file not found or there is no data in the file" >&2

exit 1

При выполнении сценария получим следующие результаты.

$ whilecontinue

Luise Conrad Accounts ACC8987

Fred Terns Customer CJS012

James Lenod Accounts ACC887

Frank Pavely Payroll PR389

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.5. Пропуск этапов развития организации

Из книги Модель зрелости процессов разработки программного обеспечения автора Паулк Марк

2.5. Пропуск этапов развития организации Описания уровней зрелости в СММ содержат характеристики организации, достигшей соответствующего уровня. Каждый уровень образует основу для более рациональной и эффективной реализации процессов на последующих уровнях. Однако


Пропуск параметров типа

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Пропуск параметров типа При вызове обобщенных методов, подобных Swap‹T›, у ваc есть возможность не указывать параметр типа, но только в том случае, когда обобщенный метод требует указания аргументов, поскольку тогда компилятор может "выяснить" тип этих аргументов на основе


Эта книга — ваш персональный пропуск в мир компьютерных технологий

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Эта книга — ваш персональный пропуск в мир компьютерных технологий Наше время — время скоростей и возможностей. Мы с вами за сутки можем переделать прорву дел, обработать гигантское количество информации, побывать в куче мест. Полвека назад о таком ритме жизни никто и


Что нужно знать о файлах?

Из книги Новейший самоучитель работы на компьютере автора Белунцов Валерий

Что нужно знать о файлах? В современных компьютерах на жестких дисках, а также на других накопителях и носителях информации обычно находится одновременно много различных данных, представленных в двоичном коде. Для доступа к информации (например, чтобы прочитать текст,


Глава 6 Практическая работа с данными в XML-файлах

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Глава 6 Практическая работа с данными в XML-файлах В главе 3 мы уже кратко описывали основные принципы языка XML, которые необходимы для понимания объектной модели сценариев WS XML. В настоящее время применение XML становится все более широким, поэтому настоящая глава посвящена


Пропуск объявления XML и создание фрагментов XML

Из книги XSLT автора Хольцнер Стивен

Пропуск объявления XML и создание фрагментов XML При знакомстве с XSLT многих смущает объявление XML, которое всегда появляется наверху их результирующих документов, особенно если они не отдают себе отчёт в том, что методом вывода по умолчанию является XML. Разумеется,


5.2 Немного о файлах и каталогах

Из книги Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» автора Неворотин Вадим

5.2 Немного о файлах и каталогах Чуть подробней я остановлюсь на вопросах работы с файлами и каталогами в Ubuntu после установки. Пока же хочу лишь упомянуть о двух немаловажных особенностях этой системы: во-первых, как вы может быть уже догадались, разделителем каталогов в


5.4. Получение информации о файлах

Из книги Linux программирование в примерах автора Роббинс Арнольд

5.4. Получение информации о файлах Чтение каталога для получения имен файлов лишь половина дела. Получив имя файла, нужно знать, как получить остальную информацию, связанную с файлом, такую, как тип файла, права доступа к нему, владельца и


1.1. Информация о файлах

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид


12.6. Сохранение объектов в файлах

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

12.6. Сохранение объектов в файлах Постановка задачи Вы добавили в ваш проект новый класс и теперь хотите сохранить этот объект на диск в виде файла, а потом в случае необходимости считать этот файл с


8.2.2. Сопоставление объявлений в разных файлах

Из книги C++ для начинающих автора Липпман Стенли

8.2.2. Сопоставление объявлений в разных файлах Одна из проблем, вытекающих из возможности объявлять объект или функцию в разных файлах, – вероятность несоответствия объявлений или их расхождения в связи с модификацией программы. В С++ имеются средства, помогающие


8.2.3. Несколько слов о заголовочных файлах

Из книги UNIX — универсальная среда программирования автора Пайк Роб

8.2.3. Несколько слов о заголовочных файлах Заголовочный файл предоставляет место для всех extern-объявлений объектов, объявлений функций и определений встроенных функций. Это называется локализацией объявлений. Те исходные файлы, где объект или функция определяется или


2.1 Основные сведения о файлах

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

2.1 Основные сведения о файлах Файл представляет собой последовательность байтов. (Байт — небольшая порция информации, обычно размером в восемь бит. Для наших целей можно считать байт синонимом слова "символ".) Никаких ограничений по структуре системой на файл не


Информация о файлах

Из книги автора

Информация о файлах Наиболее универсальным средством получения практически исчерпывающей информации о файлах является команда ls. Однако для этой цели существуют и другие команды.Общая форма запуска команды ls —$ ls [options] names где в качестве аргумента names могут выступать