Конкурсные задания

Конкурс состоит из 10 заданий,  каждое из которых оценивается в 10 баллов при правильном выполнении задания и соответствии всем требованиям.

Максимальное количество баллов по всем заданиям для конкурса – 100.

Задание №1

Создать файл определенного формата:

YYYY-DD-MM
hh:mm
1
12
123
1234
12345
123456
….
123456789101112131415
….

Здесь, YYYY-MM-DD – текущая дата
hh:mm – текущее время

Далее идут строки с числами от 1 до N, где N передается как аргумент

Формат входных данных:

ARG1 – путь до файла с результатами работы скрипта
ARG2 – число N

Формат выходных данных:

Формат был описан выше.

Пример использования:

./script.sh /tmp/results.txt 15

Задание №2

Дан каталог, содержащий определенное число файлов с различными расширениями. Создать файл,  содержащий информацию и файлах в следующем формате:

Путь_до_каталога    имя_файла_файла_без_расширения     расширение./tmp/mydir file  txt
./tmp/mydir file  csv
./tmp/mydir file24  jpeg
./tmp/mydir myvideo  avi
./tmp/mydir/dir2 file txt
./tmp/mydir/dir2 photo15 jpeg

Формат входных данных:

ARG1 – путь до каталога, содержащего файлы
ARG2 – путь до файла,  содержащего результаты работы скрипта

Формат выходных данных:

Каждый файл представлен в виде отдельной строки определенного формата

Путь_до_каталога    имя_файла_файла_без_расширения     расширение

Пример использования:

/script.sh /tmp/mydir /tmp/results.txt

Задание №3

Существует файл-шаблон. Создать файл из шаблона, заменяя все служебные комбинации на актуальные данные.  {{1}} должно быть заменено на аргумент, передаваемый сразу после имени результирующего файла. {{2}} должно быть заменено на следующий параметр и т.д.. Всего скрипт должен обрабатывать максимум до {{9}}

Формат входных данных:

ARG1 – путь до файла-шаблона
ARG2 – путь до результирующего файла
ARG3 – аргумент, на который должны быть заменены все вхождения группы символов {{1}}
ARG4 – -//- группа символов {{2}}

Всего скрипту максимально могут быть переданы параметры до {{9}}

Формат выходных данных:

Результат работы должен быть сохранен в отдельный файл

Пример использования:

./script.sh /tmp/source.txt /tmp/results.txt Artemii US Denver, где
{{1}} = Chris
{{2}} = US
{{3}} = Cupertino

Задание №4

Посчитать интеграл(x*x*x-2x+1)dx на участке от A до B с шагом H методом трапеции с точностью 10^(-5). Результат отобразить на экране.

Формат входных данных:

ARG1 – A начало отрезка
ARG2 – B конец отрезка
ARG3 – H шан

Формат выходных данных:

Значение найденного интеграла

Пример:
0.552323

Пример использования:

./script.sh -5 5 0.1

Задание №5

Распечатать в файле числовой ряд из простых чисел.

Формат входных данных:

ARG1 – количество простых чисел, начиная с первого

ARG2 – путь до файла с результатами работы

Формат выходных данных:

Каждая строка содержит одно число в порядке возрастания

Пример использования:

./script.sh 5 /tmp/results.txt

Задание №6

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

СимволыЦвет подсветки
A a O oКрасный
Y y W wЗеленый
H h D dЖелтый
U uСиний

Формат входных данных:

ARG1 – путь до файла

Формат выходных данных:

Тест на экране, где отдельные слова выделены определенным цветом

Пример использования:

./script.sh /tmp/source.txt

Задание №7

Дан каталог, содержащий определенные файлы и каталоги. Требуется найти и удалить файлы, соответствующие сразу всем критериям:

  • Принадлежит пользователю USER
  • Файл больше SIZE байт
  • Текстовый файл (расширение .txt)
  • Файл содержит хотя бы одно упоминание месяцев года на англ языке (January, February  и тп)

Формат входных данных:

ARG1 – исходный каталог
ARG2 – имя пользователя
ARG3 – размер файла

Формат выходных данных:

В исходном каталоге удалены все файлы, соответствующие всем критериям сразу

Пример использования:

./script.sh /tmp/mydir user15 10240

Задание №8

Дан каталог с определенным набором файлов в формате NNN.jpg, где N – цифра от 0 до 9. Требуется переименовать файлы в формате “photo-MMM.jpg”, где MMM- порядковый номер фотографии. Порядковые имена MMM идут подряд без “пустых мест”. Если порядковый номер меньше 100, то требуется добавить лидирующие нули.

Формат входных данных:

ARG1 – имя каталога с данными

Формат выходных данных:

Имея файлы 015.jpg, 055.jpg, 998.jpg и 998.jpg скрипт должен переименовать их как:

015.jpg – > 001.jpg
055.jpg – > 002.jpg
998.jpg – > 003.jpg
999.jpg – > 004.jpg

Пример использования:

./script.sh /tmp/source.dir

Задание №9

Дан текстовый файл. Найти в файле все упоминания корректной даты (включая анализ на корректность 29 февраля и тп) в формате  YYYY-MM-DD. Результаты вывести в отдельный файл.

Формат входных данных:

ARG1 – имя исходного файла
ARG2 – имя файла с результатами работы

Формат выходных данных:

Каждый найденный образец корректной даты должен быть сохранен в виде новой строки в результирующем файле

Пример использования

./script.sh /tmp/source.txt /tmp/results.txt

Задание №10

Расшифровать зашифрованный файл. Результат сохранить в отдельный файл.  Алгоритм шифрования описан ниже.

Все символы оставлены без изменений, кроме указанных ниже.

СимволЗаменен на
AB
BA
ac
ca

Формат входных данных:

ARG1 – путь до зашифрованного файла
ARG2 – путь до расшифрованного файла (результат работы)

Формат выходных данных:

Текстовый файл с обратной заменой символов.

Пример использования:

./script.sh /tmp/source.txt  /tmp/results.txt