как указать пробел в регулярных выражениях bash? Например строка 'синее море'.

Компьютеры программирование Linux регулярные выражения

Ответы:
Просто пишите строку с пробелом, заключив в кавычки: "синее море"
>echo "foobar" > 1.txt
>cat 1.txt | grep [[:space:]]
Нужно поставить символ обратного слэша "\" перед пробелом. Например:
grep "синее\ море" ./file.txt
В случае перехода по папкам - обратный слеш, как уже было сказано. Только таковой не нужно заключать в кавычки. Короче говоря, когда ты ставишь пробел, bash ожидает, что ты введешь что-то ещё, отдельно от представленного. Если ты введешь, скажем, не пробел, а $, bash воспримет его как начало переменной. Но обратный слеш служит для отмены  специального значения символа. И он расценивается как ПРОСТО символ. Кавычки расцениваются как просто кавыки, пробелы как просто пробелы, слеш как просто слеш, звездочка как просто звездочка и т.д.
То есть во всех случаях, когда обратный слеш не внесен в кавычки. Вне зависимости от выполняемых действий, будь то регулярные выражения или что-нибудь ещё.
cd ~/синее\ море/
В отдельных случаях проще просто использовать кавычки(лучше одинарные).
Пример:
echo 'синее море' >> 1.txt
Разные кавычки, и символ экранирования, как писали раньше =) (кстати для windows вместо "\" используют символ "^")


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.