Эта простая команда sed позволяет выборочно производить изменение без использования циклов (он использует ветку от конца) или требует расширения GNU или сразу считывает весь файл:
sed -r '/Fred Flintstone/ {x; s/$/#/; /^#{2}$/ {x; s/.*/& someString/; b}; x}'
1] Объяснение: -r - использовать расширенное регулярное выражение /Fred Flintstone/ - для строк, соответствующих этому шаблону: x - обменивать пространство и пространство удержания (активировать счетчик) s/$/#/ - добавить символ в счетчик /^#{2}$/ - когда счетчик равен 2 (замените любое значение) x обменивайте пространство шаблона и удерживайте пробел (активируйте подсчитанную строку ввода) s/.*/& someString/ - добавьте строку в нужную строку b - пропустить до конца обработки для этой строки, чтобы ее можно было напечатать x - обменять пространство шаблона и удерживать пространство (активировать строки, соответствующие строке, но не счету) Уровни отступов в объяснении указывают уровни вставки фигурных скобок.
Все остальные строки проходят без обработки и печатаются.
ПРИМЕЧАНИЕ !!
Вам также, скорее всего, нужно позаботиться о ПРИМЕЧАНИЕ !!
Таким образом, полный список команд будет: [!d4 ]
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.7 g++-4.7
Кроме того, не забудьте обновить альтернативы, как предлагается здесь
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --config gcc
Это подтверждено для работы в Ubuntu 12.04
Найдите каталог сборки для файлов config.log и выполните поиск для сообщения об ошибке. Это должно дать некоторые подсказки.
Кстати, если вам не нужно точно 4,7, вы можете попробовать установить пакет gcc-snapshot. У этого должны быть необходимые функции. Он не устанавливается в стандартном месте, хотя, если я правильно помню.
Это полное руководство по построению из источников gcc-4.7 на Ubuntu 12.04 64 бит:
http://solarianprogrammer.com/2012/04/13/building-gcc-4- 7-on-ubuntu-12-04 /