Загрузка данных


#!/bin/bash

# Проверка количества аргументов
if [ $# -ne 2 ]; then
    echo "Не верны аргументы, проверьте написание их" > result.txt
    exit 1
fi

filename=$1
word=$2
resultfile="result.txt"

# Проверка существования файла
if [ ! -f "$filename" ]; then
    echo "Не верны аргументы, проверьте написание их" > "$resultfile"
    exit 1
fi

# Очистка файла результата
> "$resultfile"

count=0
line_number=0

# Чтение файла построчно
while IFS= read -r line
do
    line_number=$((line_number + 1))

    # Проверка наличия слова
    if [[ "$line" == *"$word"* ]]; then
        echo "$line_number: $line" >> "$resultfile"
        count=$((count + 1))
    fi

done < "$filename"

# Если ничего не найдено
if [ $count -eq 0 ]; then
    echo "Ничего не найдено" > "$resultfile"
    echo "0" >> "$resultfile"
else
    echo "Количество строк: $count" >> "$resultfile"
fi