- •Лабораторные работы Лабораторная работа №1. Файловая оболочка Midnight Commander
- •Лабораторная работа №2. Информационные команды оболочки, работа со справочной системой
- •Лабораторная работа №3. Управление каталогами
- •Лабораторная работа №4. Файловые операции
- •Лабораторная работа №5. Права доступа к файлам
- •Лабораторная работа №6. Организация поиска
- •Лабораторная работа №7. Регулярные выражения. Команда egrep
- •Лабораторная работа №8. Перенаправление стандартных потоков, конвейеры
- •Лабораторная работа №9. Фильтры, обработка текстовых данных
- •Лабораторная работа №10. Архивирование и сжатие
- •Лабораторная работа №11. Текстовый редактор Vim
- •Vim [ключи] [файл].
- •Лабораторная работа №12. Сценарии оболочки
- •Лабораторная работа №13. Условные конструкции
- •Лабораторная работа №14. Циклические конструкции
- •Лабораторная работа №15. Одномерные массивы
- •Лабораторная работа №16. Потоковый редактор sed
- •Лабораторная работа №17. Язык обработки шаблонов gawk
- •If (условие) {действия1} [else {действия2}].
If (условие) {действия1} [else {действия2}].
Если условие истинно, то выполняются действия1, иначе — действия2. Часть else является необязательной. Если действия содержат по одной команде, фигурные скобки можно опустить.
Пример:
BEGIN {max=0}
if ($2>max) {max=$2}
END {print "Максимальное количество баллов: " max}
Ход работы
Выведите на экран информацию о файлах текущего каталога в следующем виде:
имя_файла: права доступа.
Используя gawk, подсчитайте суммарный объем всех, в том числе и скрытых, файлов домашнего каталога.
Сохраните в файл smallfiles информацию обо всех, в том числе и скрытых файлах, размер которых меньше 2 кБ.
Пусть входной файл имеет следующую структуру: имя, фамилия, отчество, год рождения, стаж работы, должность, заработная плата. Создайте текстовый файл spisok следующего содержания (разделителем полей является пробел):
Антонов Сергей Борисович 1965 5 Бухгалтер 12000
Крылов Андрей Иванович 1980 3 Гл.бухгалтер 20000
Морозова Ирина Геннадиевна 1975 7 Технолог 15000
Авдеев Сергей Юрьевич 1958 8 Гл.технолог 25000
Семенов Александр Петрович 1960 2 Инженер 18000
Смирнов Алексей Сергеевич 1983 3 Программист 16000
Используя gawk, выведите в файл names только фамилию и имя каждого сотрудника. Сценарий gawk поместите в файл gawk_scen.
Измените предыдущий сценарий, добавив в выходной файл возраст сотрудника.
Измените предыдущий сценарий, добавив в конец файла информацию о среднем возрасте сотрудников.
Выведите на экран записи только о тех сотрудниках, чья заработная плата больше 18000.
Измените предыдущий сценарий, добавив вывод количества таких сотрудников.
Выведите в файл zarab_plata информацию о максимальной и минимальной заработным платам, а также суммарную заработную плату.
Выведите на экран информацию в виде
инициалы:фамилия:должность
При выводе должности замените «Гл.» на «Главный ».
