добрый день/вечер/ночь!
взял пример с форума, немного рихтанул, сейчас делает то, что надо :о)
как доработать, под использование «строк», вместо «констант»?
#
STR1="str1"
STR2="str2.1 str2.3 str2.3"
#
скрипт
#!/bin/bash
set -e; clear
#
# STR1="str1"
# STR2="str2.1 str2.3 str2.3"
#
echo "#
#str1 - this remark line
str1 - this open line :o)
#" > text.txt
sed -i 's/\(^str1 \)\(.*\)\(.*\)/str2.1\ str2.2 \str2.3/' text.txt
cat text.txt
#
#str1 - this remark line
str2.1 str2.2 str2.3
#
спасибо
p.s.
если не понятно, что делает скрипт:
1. создает файл
2. "просматривает" файл, на наличие "искомой строки"
3. пропускает "ремарки", ищет "открытую строку"
4. находит строку, начинающуюся с "str1"
5. заменяет всю строку на другую "str2..."
в примере для «поиска» и «замены» - используются «жестко прописанные строки/константы»
надо: «жестко прописанные строки/константы» заменить на строки (STR1 & STR2, в примере закомментированы)
если совсем не понятно, запустите скрипт... :o)
дерните за веревочку... озорение и прийдет :о)