The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Скрипт для поиска и замены текста, !*! iiukyr4uk, 11-Окт-13, 15:31  [смотреть все]
Всем привет, столкнулся с проблемой.
Есть 2 файла, один имеет вид:
origin=SOFT(...)
...
...

второй имеет вид:
s=name
v=1
d=0

И вот надо мне при помощи скрипта считать что то написано во втором после s= и заменить на слово SOFT в первом файле.

Помогите плиз. Заранее спасибо

  • Скрипт для поиска и замены текста, !*! михалыч, 17:10 , 11-Окт-13 (1)
    Хрен победишь где менять.

    #!/bin/sh
    sed "s/\(SOFT\).*/\1($(awk -F"=" '/s/ {print $2}' two))/" one
    или
    sed "s/SOFT/$(awk -F"=" '/s/ {print $2}' two)/" one

    ??

  • Скрипт для поиска и замены текста, !*! mrrrr, 13:24 , 12-Окт-13 (2)
    #!/usr/bin/env bash  

    file1='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

    • Скрипт для поиска и замены текста, !*! LSTemp, 05:24 , 21-Ноя-13 (4)
      >[оверквотинг удален]
      >   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 и подобных фенечек не всегда очевидно (чаще о них просто не знают). +.

  • Скрипт для поиска и замены текста, !*! LSTemp, 04:58 , 21-Ноя-13 (3)
    > Всем привет, столкнулся с проблемой.
    > Есть 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





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру