Поиск слов, начинающихся с буквы, введенной пользователем в указанном файле -bash

Вам необходимо настроить веб-сервер, такой как Apache или Nginx. После успешной настройки вы можете написать правило для перенаправления вашего порта на локальный IP. Вот несколько хороших ссылок по настройке веб-сервера:-

Апач=>https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-18-04-quickstart

Nginx=>https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04-quickstart

0
24.09.2020, 15:39
1 ответ

echo "$(result)" пытается выполнить команду с именем resultблагодаря части $(result), отсюда и сообщение об ошибке result: command not found.

Попробуйте это (не проверено):

#!/usr/bin/env bash

result=''
while [[ -z "$result" ]]; do
    echo 'Please enter starting letter of Name'
    read name

    if [[ $name == [A-Z] ]]
    then 
        result=$(awk -v name="$name" 'index($0,name)==1' /home/beka/scripts/names.txt)
    else
        echo '0'
    fi
done
echo "$result"

Сделать регистр поиска -нечувствительным:

awk -v name="$name" 'index(tolower($0),tolower(name))==1' /home/beka/scripts/names.txt

Очевидно, что вам также придется изменить $name == [A-Z]на $name == [a-zA-Z]или $name == [[:alpha:]], если вы хотите иметь возможность принимать строчные буквы в качестве символа поиска.

2
18.03.2021, 23:02

Теги

Похожие вопросы