Используйте переменную дату (с тире), чтобы соответствовать выражению, в котором нет тире.Linux

Ответить
Anonymous
 Используйте переменную дату (с тире), чтобы соответствовать выражению, в котором нет тире.

Сообщение Anonymous »

Я использую экспортированные переменные, сохраненные в .bashrc, которые представляют собой даты на сегодняшний день и следующий день, чтобы попытаться найти для них совпадения на веб-странице, которую я собираю для получения информации о погоде. Мне пришлось сохранять переменные даты с разделителями (которые представляют собой тире), иначе я не смог бы экспортировать их в ~/.bashrc, который скрипт обновляет автоматически. Проблема в том, что даты, с которыми я пытаюсь сопоставить их с веб-страницы, содержат пробелы, а исходные даты - тире.
Пример экспортированной переменной, которая у меня есть в ~/.bashrc:

Код: Выделить всё

export xdate=Fri-04-Oct
Итак, если я попытаюсь сопоставить пятницу, 4 октября, как это отображается на веб-странице следующим образом:

Код: Выделить всё

grep -F $(echo $xdate | tr '-' ' ')  casablanca_info
Мой результат соответствует только пятнице, поэтому я использовал -F, чтобы попытаться сопоставить всю строку. Я новичок в программировании и знаю, что могу без проблем использовать grep, например grep -F 'Fri 04 Oct', но я не могу сопоставить строку, когда она находится в переменной, и удаляю пробелы.Я также пытался заключить $xdate в такие кавычки

Код: Выделить всё

grep -F $(echo "$xdate" | tr '-' ' ')  casablanca_info
и я попытался изменить его с того, как он был сохранен в ~/.bashrc, на

Код: Выделить всё

export xdate='Fri-04-Oct'
чтобы принудительно искать всю строку, включая пробелы, и я снова возвращаю в результатах только пятницу.
Совет, который я получил от Shellcheck. net предложила заключить $xdate в кавычки или включить директиву shebang, которую я попробовал просто ради смеха, но я тестировал это непосредственно в оболочке bash, чтобы заставить его работать перед сохранением кода в скрипте.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -of-dashes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»