Практика всякая
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kotov_project/README.md

5.3 KiB

Домашнее задание 1

1. Rand (2 балл)

Написать команду, которая будет создавать файл rnd.txt в текущем каталоге.

Размер файла rnd.txt -- случайное число байт.

Файл должен быть полностью заполнен случайными байтами.

Размер можно вычислять заранее, запоминая результат в переменной.

Используйте dd, переменную окружения RANDOM (echo $RANDOM, и см. bash(1)), а также /dev/urandom.

2. Сумма (1 балл)

Посчитайте сумму значений в третьем столбце файла digits.txt.

Используйте paste, чтобы сформировать выражение и bc, чтобы его вычислить. Не забывайте про process subsctitution $()

3. Посчитаемся (1 балл)

Посчитайте количество регулярных файлов в текущем каталоге, измененных больше 30 минут и меньше суток назад и имеющих расширение .txt.

Для решения используйте find и wc.

4. ping (1 балл)

В файле ips.txt записаны IP-адреса (по одному на каждой строчке).

Написать скрипт, считывающий IP-адреса из этого файла, пингует (команда ping) их и записывает результат в res.txt, а ошибки -- в err.txt.

Подсказка:

while IFS= read -r line; do
    echo "Text read from file: $line"
done < my_filename.txt

5. Четное-нечетное (1 балл)

Введите целое число и проверьте, является ли оно чётным или нечётным. Скрипт должен запрашивать число, и выводить EVEN или ODD соответственно.

6. Палиндром (1 балл)

Написать скрипт, который проверяет, является ли введенная строка палиндромом. Скрипт должен запрашивать строку, и выводить YES или NO соответственно.

7. factor (1 балл)

Написать скрипт, который раскладывает на простые множители все числа из заданного в первом параметре скрипта файла и записывает результат в другой файл, заданный во втором параметре. Каждое число из разложения необходимо вывести столько раз, сколько оно там встречается (см. пример для числа 1236).

Пример входных данных:

123
15123
1236
97

Пример выходных данных:

123: 3 41
15123: 3 71 71
1236: 2 2 3 103
97: 97

8. find (1 балл)

Переименовать все файлы в текущем каталоге (с учетом всех подкаталогов рекурсивно), имеющие расширение не .sh и измененные не более двух суток назад и не менее суток назад, добавив в начало имени файла символ '_'.

Подсказка:

find . -print0 | 
    while IFS= read -r -d '' line 
    do
        echo $line
    done

9. cal (задача с маленькой звездочкой, 2 балла)

С помощью команд cal, cat и grep вывести текущее число. Выводить месяц и год необязательно, но можно.

Выводить весь календарь и утверждать, что условие задания выполнено запрещается.

10. Зоопарк (1 балл)

Имеется файл, содержащий сведения о животных в зоопарке:

id;name;h;strike;color
1;Chicken;12;0.38;Yellow
2;Goose;18;0.11;Green
3;Orca;8;0.81;Yellow
4;Porcupine;19;0.74;Yellow
5;Bear;23;0.14;Green
6;Turtle;4;0.08;Black

Требуется организовать неэтичные бои без правил. Для этого нужно вывести имя животного (name) и тангенс его ударной силы (strike) (именно тангенс, не синус и косинус).

При этом интересуют нас только те животные, которые не выбыли из турнира, то есть те, перед которыми в списке было нечетное число животных того же цвета (color);

Пример вывода:

Orca            1.0505
Bear            0.1409

Примечания:

  • Разрешено использовать только awk.
  • Тангенс нужно выводить с точностью в четыре знака после запятой.