Я пытаюсь заменить часть path
строки ниже из postgresql.conf, используя скрипт оболочки:
data_directory = '/var/lib/postgresql/10/main' # use data in another directory
Сначала я проверил, могу ли я сначала найти строку, используя скрипт ниже, но он не нашел строку:
#!/bin/bash
while IFS='' read -r line || [[ -n "$line" ]]; do
if [[ "$line" = "data_directory = '/var/lib/postgresql/10/main' # use data in another directory" ]]
Я знаю, что есть лучший способ заменить эту строку, используя sed
, но мне нужно знать, выполнимо ли это, читая файл от начала до конца изатем замените нужную часть линии, если она найдена.Если нет, то замена всей строки только измененной частью path
также сделает это.Спасибо!