diff --git a/bash/task1/log_analyzer.sh b/bash/task1/log_analyzer.sh new file mode 100755 index 0000000..b0d5e85 --- /dev/null +++ b/bash/task1/log_analyzer.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# Проверка наличия аргумента +if [ "$#" -ne 1 ]; then + echo "Ошибка: Необходимо указать путь к лог-файлу." + echo "Использование: $0 <путь к лог-файлу>" + echo "Этот скрипт анализирует лог-файл на наличие ошибок, предупреждений и информационных сообщений." + echo "$0 /var/log/syslog" + exit 1 +fi + +# Путь к лог-файлу +log_file_path="$1" + +# Проверка существования файла +if [ ! -f "$log_file_path" ]; then + echo "Ошибка: Файл '$log_file_path' не существует." + exit 1 +fi + +# Переменные для хранения количества сообщений +error_count=0 +warning_count=0 +info_count=0 + +# Чтение лог-файла и подсчет сообщений +while IFS= read -r line +do + case "$line" in + *"ERROR"*) + ((error_count++)) + ;; + *"WARNING"*) + ((warning_count++)) + ;; + *"INFO"*) + ((info_count++)) + ;; + esac +done < "$log_file_path" + +# Вывод результатов +echo "Количество сообщений в лог-файле:" +echo "Ошибки: $error_count" +echo "Предупреждения: $warning_count" +echo "Информационные сообщения: $info_count" diff --git a/bash/test_branch.sh b/bash/test_branch.sh new file mode 100644 index 0000000..cc1f786 --- /dev/null +++ b/bash/test_branch.sh @@ -0,0 +1 @@ +#!/bin/bash \ No newline at end of file diff --git a/go/summ/summ.go b/go/summ/summ.go new file mode 100644 index 0000000..caf1a1e --- /dev/null +++ b/go/summ/summ.go @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" + "os" + "strconv" +) + +func main() { + summ := 0 + + // Проходим по всем аргументам командной строки, начиная с первого + for i := 1; i < len(os.Args); i++ { + // Преобразуем аргумент в целое число + num, err := strconv.Atoi(os.Args[i]) + if err != nil { + fmt.Fprintf(os.Stderr, "Ошибка преобразования аргумента '%s': %v\n", os.Args[i], err) + return + } + summ += num + } + + // Выводим результат + fmt.Println(summ) +}