LINUX.ORG.RU

История изменений

Исправление CrX, (текущая версия) :

# Откуда ты хочешь брать эту строку, я не понял, поэтому захардкодил
INITIAL_STRING='lib.systemd.system-sleep.firefox.sleep.someString="yes"'

# "Парсим" всё в переменные
FILENAME=$(echo "$INITIAL_STRING" | sed -E 's@(.*)\.[a-zA-Z]+=.+@/\1@;s@\.@/@g')
STRING_TO_EDIT=$(echo "$INITIAL_STRING" | sed -E 's@.*\.([a-zA-Z]+=.+)@\1@')
VARIABLE_TO_EDIT=$(echo "$STRING_TO_EDIT" | sed -E 's/=.*//')
VALUE_TO_EDIT=$(echo "$STRING_TO_EDIT" | sed -E 's/.*=//')

# С добавлением понятно, что ты там менять собрался, я не понял, так что сам разберёшься

# Добавляем строку в конец файла
echo "$VARIABLE_TO_EDIT=$VALUE_TO_EDIT" >> "$FILENAME"

С тебя з/п джуна за 2 минуты.

На баше в лоб — так. Но лучше сразу бери Python и бей на строки нормально, а не вызовом sed кучу раз и т.д.

Исправление CrX, :

# Откуда ты хочешь брать эту строку, я не понял, поэтому захардкодил
INITIAL_STRING='lib.systemd.system-sleep.firefox.sleep.someString="yes"'

# "Парсим" всё в переменные
FILENAME=$(echo "$INITIAL_STRING" | sed -E 's@(.*)\.[a-zA-Z]+=.+@/\1@;s@\.@/@g')
STRING_TO_EDIT=$(echo "$INITIAL_STRING" | sed -E 's@.*\.([a-zA-Z]+=.+)@\1@')
VARIABLE_TO_EDIT=$(echo "$STRING_TO_EDIT" | sed -E 's/=.*//')
VALUE_TO_EDIT=$(echo "$STRING_TO_EDIT" | sed -E 's/.*=//')

# С добавлением понятно, что ты там менять собрался, я не понял, так что сам разберёшься

# Добавляем строку в конец файла
echo "$VARIABLE_TO_EDIT=$VALUE_TO_EDIT" > "$FILENAME"

С тебя з/п джуна за 2 минуты.

На баше в лоб — так. Но лучше сразу бери Python и бей на строки нормально, а не вызовом sed кучу раз и т.д.

Исходная версия CrX, :

# Откуда ты хочешь брать эту строку, я не понял, поэтому захардкодил
INITIAL_STRING='lib.systemd.system-sleep.firefox.sleep.someString="yes"'

# "Парсим" всё в переменные
FILENAME=$(echo "$INITIAL_STRING" | sed -E 's@(.*)\.[a-zA-Z]+=.+@/\1@;s@\.@/@g')
STRING_TO_EDIT=$(echo "$INITIAL_STRING" | sed -E 's@.*\.([a-zA-Z]+=.+)@\1@')
VARIABLE_TO_EDIT=$(echo "$STRING_TO_EDIT" | sed -E 's/=.*//')
VALUE_TO_EDIT=$(echo "$STRING_TO_EDIT" | sed -E 's/.*=//')

# С добавлением понятно, что ты там менять собрался, я не понял, так что сам разберёшься

# Добавляем строку в конец файла
echo "$VARIABLE_TO_EDIT=$VALUE_TO_EDIT" > "$FILENAME"

С тебя з/п джуна за 2 минуты.