Простой пример использования альтернатив Fedora для установки старой версии делает

awk может сделать это, но это не является прямым, даже с помощью backreferencing.
GNU awk имеет (частичный) backreferecing, в форме gensub.

Экземпляры 123" временно перенесены в \x01 и \x02 отметить их, как не изменено (для sub(). co

Или Вы могли просто ступить через кандидатов изменения цикла, когда Вы идете, в этом случае, backreferencing и "скобки" не необходимы; но отслеживание индекса символа необходимо.

awk '{$0=gensub(/([0-9]+)\"/, "\x01\\1\"\x02", "g", $0 )
      while ( match($0, /\x01[0-9]+\"\x02/) ) {
        temp=substr( $0, RSTART, RLENGTH )
        numb=substr( temp, 2, RLENGTH-3 ) + 11
        sub( /\x01[0-9]+\"\x02/, numb "\"" ) 
      } print }'

Вот иначе, с помощью gensub и массив split и \x01 как разделитель полей (для разделения).. \x02 отмечает элемент массива как кандидата на арифметическое дополнение.

awk 'BEGIN{ ORS="" } {
     $0=gensub(/([0-9]+)\"/, "\x01\x02\\1\x01\"", "g", $0 )
     split( $0, a, "\x01" )
     for (i=0; i

3
17.02.2011, 19:20
1 ответ
  1. Вам нужно к 'альтернативе-ize', которую делает оригинал. Измените/usr/bin/make и/usr/bin/gmake к/usr/bin/make-3.82 и/usr/bin/gmake-3.82. Поймите, что это сдуется, следующий раз делает, обновлен, потому что Fedora не использует альтернативы для, делают.
  2. Создайте альтернативу для него. alternatives --install /usr/bin/make make /usr/bin/make-3.82 10 для делают. Я использовал 10 в качестве приоритета сделать это более низким приоритетом, чем следующий шаг.
  3. Теперь создайте альтернативу для своего нового, делают. alternatives --install /usr/bin/make make /usr/local/make-3.81/bin/make 20 (принятие Вас установило его в/usr/local/make-3.81). заметьте, что я использовал более высокий приоритет, 20.
  4. Использовать alternatives --display make видеть, что используется.
8
27.01.2020, 21:11
  • 1
    , комментирующий мой собственный ответ: alternatives система является, вероятно, не лучшим решением этой проблемы. Вы могли бы извлечь выгоду из Модулей Среды (modules.sourceforge.net), или просто вручную установка старого делает в Вашем ПУТИ или Make-файле. –  jsbillings 17.02.2011, 19:26
  • 2
    Спасибо за четкий ответ! Это работало как очарование и разрешило беспорядок вокруг системы альтернатив. –  Mr. Shickadance 17.02.2011, 19:29
  • 3
    Хм, спасибо за предложение. Я, несомненно, проверю это. –  Mr. Shickadance 17.02.2011, 20:24
  • 4
    +1 для "правильного ответа, не делают этого". –  mattdm 17.02.2011, 20:33
  • 5
    "SEE ALSO" Во всяком случае, я думаю, что смогу лучше использовать альтернативы, если я найду правильную ситуацию. ;) –  Mr. Shickadance 17.02.2011, 22:16

Теги

Похожие вопросы