Существует файл post_check.ini
мне нужен набор значений для:Как получить значение переменной из файла с помощью сценария оболочки?
Max_value=2
Как мне получить значение 2
от Max_value
?
Существует файл post_check.ini
мне нужен набор значений для:Как получить значение переменной из файла с помощью сценария оболочки?
Max_value=2
Как мне получить значение 2
от Max_value
?
попробовать
grep -Po '(?<=Max_value=).*' post_check.ini
Это работает с одним изменением, я добавил awk '{print $ 1}', чтобы получить первую часть еще, чтобы она вернула целую строку , Но что, если я хочу вернуть значение, которое я получил value = $ (grep -Po '(? <= Max_value =). *' /usr/post_check.ini|awk '{print $ 1}') sed -i -r '/ Max_value = [0-9] +/Max_value = 0/g' /usr/master.ini echo "$ value" sed -i -r '/ Max_value = [0-9] +/Max_value = $ value/g '/usr/master.ini value = $ (grep -Po' (? <= Max_value =). * '/usr/master.ini|awk' {print $ 1} ') echo "$ value" Если я сброшу его до нуля и постараюсь вернуть его к старому значению. Как мне это сделать? – JumpOffBox
@JumpOffBox grep может только извлекать данные. не может установить данные. вам может понадобиться awk/sed для этого. Но это будет еще один новый вопрос. Вы могли бы задать новый вопрос. Пожалуйста, не пишите большой блок-код в комментарии, его трудно прочитать. – Kent
Max_value=$(sed -n '/^Max_value=\([0-9]*\)$/s//\1/p' post_check.ini)
Точки для использования пустого шаблона после 's', но, может быть, просто' 's/^ Max_value = // p'', будут легче вводить и понимать. – tripleee
Вы могли бы найти полезным использовать надлежащий анализатор конфигурационного файла. Учитывая следующий .ini
файл:
$ cat post_check.ini
[section 1]
Max_value=123
[section 2]
Max_value=456
Следующая python
скрипт выведет 123
:
import ConfigParser, os
config = ConfigParser.ConfigParser()
config.read('post_check.ini')
print config.get('section 1','Max_value')
Это самый надежный и изменяемый путь, если вам нужно работать с конфигурационными файлами.
Я рекомендую использовать crudini, который является специализированным инструментом для управления INI файлы из оболочки
value=$(crudini --get /usr/post_check.ini section Max_value)
Подробная информация об использовании и скачать по адресу: http://www.pixelbeat.org/programs/crudini/
Возможный дубликат [Баш получить строку после символа] (HTTP : //stackoverflow.com/questions/15148796/bash-get-string-after-character) – tripleee