The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Замена строк, !*! fEaR, 15-Июл-05, 08:40  [смотреть все]
Привет!!
Вот есть такая проблема
есть некий конфиг в который скриптом на shell добавляются значения
конфиг должен всегда заканчиваться };
{
ip=192.168.1.1;
     {
     Template="123";
     TransitSM={Direction=10sads;ReservedDirection=20sads;};
      };
     {
     Template="[78]9234.(6)";
     TransitSM={Direction=10sads;ReservedDirection=20sads;};
     };

};
Те нужно как то либо вырезать послед строчку
либо кидать значения перед ней
подскажите плз как это лучше сделать)

  • Замена строк, !*! allez, 09:20 , 15-Июл-05 (1)
    >Привет!!
    >Вот есть такая проблема
    >есть некий конфиг в который скриптом на shell добавляются значения
    >конфиг должен всегда заканчиваться };
    >Те нужно как то либо вырезать послед строчку
    >либо кидать значения перед ней
    >подскажите плз как это лучше сделать)


    И в чем проблема? Удаляйте эту последнюю строку, пишите то, что вам
    нужно и снова добавляйте ее.

    P.S. Если не знаете, как удалить из файла последнюю строку, так и
    спросите. Подскажу.

    • Замена строк, !*! fEaR, 10:26 , 15-Июл-05 (2)
      >>Привет!!
      >>Вот есть такая проблема
      >>есть некий конфиг в который скриптом на shell добавляются значения
      >>конфиг должен всегда заканчиваться };
      >>Те нужно как то либо вырезать послед строчку
      >>либо кидать значения перед ней
      >>подскажите плз как это лучше сделать)
      >
      >
      >И в чем проблема? Удаляйте эту последнюю строку, пишите то, что вам
      >
      >нужно и снова добавляйте ее.
      >
      >P.S. Если не знаете, как удалить из файла последнюю строку, так и
      >
      >спросите. Подскажу.

      Это и спрашиваю)

      В принципе я сделал на awk но как слишком сложно всё сложно получилось
      должно быть проще я думаю

      • Замена строк, !*! ihor, 13:48 , 15-Июл-05 (3)
        напр. для bash можно так (не очень эффективно, первое, что пришло в голову):
        ###########################
        #!/usr/bin/bash
        FNAME=conf.txt
        NEW_FNAME=new_conf.txt
        NOF_LINES=$(( `cat $FNAME|wc -l` - 1 ))
        head -n $NOF_LINES $FNAME > $NEW_FNAME
        echo "something new" >> $NEW_FNAME
        echo "};" >> $NEW_FNAME
        • Замена строк, !*! fEaR, 13:54 , 15-Июл-05 (4)
          >напр. для bash можно так (не очень эффективно, первое, что пришло в
          >голову):
          >###########################
          >#!/usr/bin/bash
          >FNAME=conf.txt
          >NEW_FNAME=new_conf.txt
          >NOF_LINES=$(( `cat $FNAME|wc -l` - 1 ))
          >head -n $NOF_LINES $FNAME > $NEW_FNAME
          >echo "something new" >> $NEW_FNAME
          >echo "};" >> $NEW_FNAME


          я сделал по другому)
          config=config.txt
          cat $config |awk '{gsub("^};","\n", $0); print $0}'>$config

          • Замена строк, !*! madskull, 14:47 , 15-Июл-05 (5)
            >>напр. для bash можно так (не очень эффективно, первое, что пришло в
            >>голову):
            >>###########################
            >>#!/usr/bin/bash
            >>FNAME=conf.txt
            >>NEW_FNAME=new_conf.txt
            >>NOF_LINES=$(( `cat $FNAME|wc -l` - 1 ))
            >>head -n $NOF_LINES $FNAME > $NEW_FNAME
            >>echo "something new" >> $NEW_FNAME
            >>echo "};" >> $NEW_FNAME
            >
            >
            >я сделал по другому)
            >config=config.txt
            >cat $config |awk '{gsub("^};","\n", $0); print $0}'>$config

            нет, не интересно и кнопок много нажимать надо :)
            sed -ni '/^};/{g;p;q};H' $config




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

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