ÐинÑÐ°Ð¶Ð½Ð°Ñ Ñеклама VW
Оглавление:
- Использование подстановочных знаков
- Использование оператора case
- Использование оператора регулярных выражений
- Использование Grep
- Вывод
Одна из самых распространенных операций при работе со строками в Bash - определить, содержит ли строка другую строку.
Мы покажем вам несколько способов проверить, содержит ли строка подстроку.
Использование подстановочных знаков
Самый простой подход заключается в том, чтобы окружить подстроку символами звездочки (звездочка)
*
и сравнить ее со строкой. Подстановочный знак - это символ, используемый для обозначения нуля, одного или нескольких символов.
Если тест возвращает
true
, подстрока содержится в строке.
В приведенном ниже примере мы используем оператор if и оператор равенства (
==
), чтобы проверить, найдена ли подстрока
SUB
в строке
STR
:
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
После выполнения скрипт выдаст:
Использование оператора case
Вместо использования оператора if вы также можете использовать оператор case, чтобы проверить, содержит ли строка другую строку.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' case $STR in *"$SUB"*) echo -n "It's there.";; esac
Использование оператора регулярных выражений
Другой вариант определения того, встречается ли указанная подстрока в строке, заключается в использовании оператора регулярного выражения
=~
. Когда используется этот оператор, правильная строка рассматривается как регулярное выражение.
Точка, за которой следует звездочка
.*
Соответствует нулю или большему числу вхождений любого символа, кроме символа новой строки.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if]; then echo "It's there." fi
Скрипт отобразит следующее:
Использование Grep
Команда grep также может использоваться для поиска строк в другой строке.
В следующем примере мы передаем строку
$STR
в качестве входных данных для grep и проверяем, найдена ли строка
$SUB
во входной строке. Команда вернет
true
или
false
в зависимости от ситуации.
#!/bin/bash STR='GNU/Linux is an operating system' SUB='Linux' if grep -q "$SUB" <<< "$STR"; then echo "It's there" fi
Опция
-q
указывает grep на молчание, чтобы пропустить вывод.
Вывод
Проверка, содержит ли строка подстроку, является одной из самых основных и часто используемых операций в сценариях Bash.
Прочитав это руководство, вы должны хорошо понимать, как проверить, содержит ли строка другую строку. Вы также можете использовать другие команды, такие как
awk
или
sed
для тестирования.
Как получить доступ к FTP-сайту в IE, когда URL содержит специальные символы
Решение: Windows не может найти `ftp : // имя пользователя: пароль @ домен. Проверьте правописание и повторите попытку с сообщением об ошибке в Internet Explorer.
Как проверить, существует ли файл или каталог в bash
Во многих случаях при написании сценариев Shell вы можете оказаться в ситуации, когда вам нужно выполнить действие, основанное на том, существует файл или нет. В Bash вы можете использовать тестовую команду, чтобы проверить, существует ли файл и определить тип файла.
Как проверить (проверить) открытые порты в Linux
В этой статье описывается несколько подходов, чтобы узнать, какие порты открыты снаружи в вашей системе Linux.







