Всем привет, столкнулся с проблемой.
Есть 2 файла, один имеет вид:
origin=SOFT(...)
...
...второй имеет вид:
s=name
v=1
d=0И вот надо мне при помощи скрипта считать что то написано во втором после s= и заменить на слово SOFT в первом файле.
Помогите плиз. Заранее спасибо
Хрен победишь где менять.#!/bin/sh
sed "s/\(SOFT\).*/\1($(awk -F"=" '/s/ {print $2}' two))/" one
или
sed "s/SOFT/$(awk -F"=" '/s/ {print $2}' two)/" one??
#!/usr/bin/env bashfile1='1.txt'
file2='2.txt'
word_for_repl='SOFT'get_s() {
while read line; do
if [[ $line =~ s=(.*) ]]
then
echo ${BASH_REMATCH[1]}
fi
done < <(cat $file2)
}s_repl() {
s=$(get_s)
while read line; do
if [[ $line =~ $s ]]
then
echo ${line/$s/$word_for_repl}
else
echo $line
fi
done < <(cat $file1)
}echo "$(s_repl)" > $file1
>[оверквотинг удален]
> while read line; do
> if [[ $line =~ $s ]]
> then
> echo ${line/$s/$word_for_repl}
> else
> echo $line
> fi
> done < <(cat $file1)
> }
> echo "$(s_repl)" > $file1По задаче надо значение origin из первого файла (т.е SOFT(..)) пернести в параметр s второго файла. ИМХО в результате должно быть:
value(file2:s)=value(file1:origin)Т.е get_s() должна grep-ать file1, а вывод должен быть в file2 ИМХО.
Все равно хороший подход. Использование BASH_REMATCH и подобных фенечек не всегда очевидно (чаще о них просто не знают). +.
> Всем привет, столкнулся с проблемой.
> Есть 2 файла, один имеет вид:
> origin=SOFT(...)
> ...
> ...
> второй имеет вид:
> s=name
> v=1
> d=0
> И вот надо мне при помощи скрипта считать что то написано во второмскрипте?
похоже все-таки в файле. если речь про файл, то первый - это тот, который "один"? (они оба "имеют вид" - это заявка на победу! ;))
> после s= и заменить на слово SOFT в первом файле.
Хотите считать из одного файла данные, а потом константу во второй файл писать? (именно так Ваш запрос и выглядит - это победа!!!)
> Помогите плиз. Заранее спасибо
Помогаю:
1) данные:
- есть файл-1 (не "один файл") - пишем формат
- есть файл-2 (не "другой/второй файл")- пишем формат2) хочу:
> И вот надо мне при помощи скрипта считать что то написано во втором после s= и заменить > на слово SOFT в первом файле._ИЗ_ файл-2 надо получить данные такие-то... и поместить их _В_ файл-1 (замена, добавление, условия, итд)
PS
задолбали такие вопросы - русский язык уже не рулит - вставить/заменить "ИЗ в В" уже не модно видимо.PSS
2iiukyr4uk спец: http://eruditov.net/photo/obman/kuby/1-0-557