Как найти подстроку из некоторого текста в файле и сохранить ее в переменной bash? - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть файл с именем config.txt, который содержит следующие данные:

ABC_PATH=xxx/xxx
IMAGE=docker.name.net:3000/apache:1.8.109.1
NAMESPACE=xxx

Теперь я запускаю скрипт оболочки, в котором я хочу сохранить 1.8.109.1 (это значение может отличаться, остальное останется то же самое) в переменной, возможно, используя sed, awk или любой другой инструмент linux. Как мне этого добиться?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2020

Будет работать следующее.

ver="$(cat config.txt | grep apache: | cut -d: -f3)"

grep apache: найдет строку с текстом 'apache:' в ней.

-d указывает, какие разделители использовать. В этом случае: устанавливается в качестве разделителя. -f используется для выбора указанного c поля (индекс массива, начиная с 1) результирующего списка, полученного после разделения с помощью:

Таким образом, -f3 выбирает 3-й вхождение списка с разделителями.

Информация о версии теперь записывается в переменную $ ver

0 голосов
/ 18 февраля 2020

Я думаю, что это должно работать:

cat config.txt | grep apache: | cut -d: -f3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...